Wątek przeniesiony 2017-11-27 13:03 z Newbie przez somekind.

ePUAP – uwierzytelnianie na podstawie danych z Profilu Zaufanego

Odpowiedz Nowy wątek
2017-03-06 10:17
zapytajnik123
0

Dzień dobry :-)
Poszukuję osoby, która dobrze zna się na integracji różnych systemów zewnętrznych (php/java/itp.) z ePUAPem i ma pewne doświadczenia w temacie...
Sytuacja wygląda tak: mamy webową aplikację, do której dostęp jest ograniczony tylko dla zalogowanych użytkowników. Pytanie - czy można tak zintegrować aplikację, aby jako danych do uwierzytelnienia używała danych z Profilu Zaufanego? Użytkownik podczas logowania przekierowany byłby do strony ePUAP (PZ), po czym wracałby z powrotem do naszej aplikacji z odpowiednią flagą sukcesu lub porażki. Czy taki mechanizm możliwy jest do osiągnięcia?

edytowany 1x, ostatnio: furious programming, 2017-10-06 18:04

Pozostało 580 znaków

2019-03-19 17:18
0

Czy ktoś, to ogarnął do końca w .NET?

Pozostało 580 znaków

2019-03-23 00:50
0

Witam
Od jakiegoś czasu walczę z PZ, niestety jest to walka z ...
No ale do rzeczy
Po długich miesiącach dostałem upragniony certyfikat od coi, udało mi się nawet stworzyć poprawny AuthnRequest.
Wcześniejsze wpisy na tym forum były bardzo pomocne. Lecz niestety dalej porażka, wiele godzin kombinacji z podpisaniem ArtifactResolve i ciągle powtarzająca się odpowiedź: "Niepoprawny podpis".
Jak wiecie kontakt z coi ... nie będę komentował.
Owszem przez chwilę byli całkiem pomocni. Nawet w ciągu jednego dnia odpowiedzieli ze dwa razy:)
Ale dalej, muszę się zwrócić o pomoc tutaj.
Czy mógłby ktoś coś więcej opisać, rzucić kawałkiem kodu może.
Walkę podjąłem w PHP. Wiem że w JAVA było by łatwiej, ale proszę o pomoc PHP'owców.

Pozostało 580 znaków

2019-03-23 16:10
0
unikat112 napisał(a):

Witam
Od jakiegoś czasu walczę z PZ, niestety jest to walka z ...
No ale do rzeczy
Po długich miesiącach dostałem upragniony certyfikat od coi, udało mi się nawet stworzyć poprawny AuthnRequest.
Wcześniejsze wpisy na tym forum były bardzo pomocne. Lecz niestety dalej porażka, wiele godzin kombinacji z podpisaniem ArtifactResolve i ciągle powtarzająca się odpowiedź: "Niepoprawny podpis".
Jak wiecie kontakt z coi ... nie będę komentował.
Owszem przez chwilę byli całkiem pomocni. Nawet w ciągu jednego dnia odpowiedzieli ze dwa razy:)
Ale dalej, muszę się zwrócić o pomoc tutaj.
Czy mógłby ktoś coś więcej opisać, rzucić kawałkiem kodu może.
Walkę podjąłem w PHP. Wiem że w JAVA było by łatwiej, ale proszę o pomoc PHP'owców.

IMO integracja w php moze być po prostu niemożliwa. Nie wiem czy jest biblioteka, która potrafi tak podpisać kopertę, żeby PZ jej nie odrzucił. Chyba, że czujesz się na siłach napisać jakąś własną klasę do podpisywania. Ja temat integracji w PHP odpuściłem dawno temu i Tobie polecam to samo.

Pozostało 580 znaków

2019-09-12 15:29
0

Wie ktoś, o co chodzi z tym dziwnym wsdlem do tpUserInfo? https://pz.gov.pl/pz-services/tpUserInfo?wsdl
Dotyczy to zresztą chyba wszystkich usług PZ:
Mamy wsp:PolicyReference do #SecurityServiceSignInputPolicy oraz #SecurityServiceSignOutputPolicy, ale nie widzę nigdzie wsp:Policy. Mój kod też nie widzi.

ok, ogarnięte: okazało się że trzeba zerknąć na https://pz.gov.pl/pz-services[...]Info?wsdl=wssec-policies.wsdl ...

W ogóle jakby ktoś jeszcze miał problem że AuthnRequest działa a ArtifactResolve nie (zły podpis) to można sprawdzić CanonicalizationAlgorithm - ja np. używałam http://www.w3.org/TR/2001/REC-xml-c14n-20010315 a powinno być http://www.w3.org/2001/10/xml-exc-c14n# (na blogu https://www.wiktorzychla.com/[...]egracja-z-epuap-dostawca.html już o tym było)

edytowany 2x, ostatnio: cas__, 2019-09-13 16:29

Pozostało 580 znaków

2019-10-11 13:00
0

Witam,
Toczę nierówną walkę z ArtifactResolve i mimo tego, że request wydaje się być zgodny z tym co koledzy i koleżanki publikowali wcześniej na forum, to cały czas dostaję odpowiedź:

com.pentacomp.common.saml.ex.SamlXmlSignatureException: Niepoprawny podpis.

Mój XML wygląda następująco:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header />
    <soapenv:Body>
        <saml2p:ArtifactResolve ID="_84221eaa-d037-4278-b1ae-c64c65b539c1" Version="2.0" IssueInstant="2019-10-11T10:45:59.077Z" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <saml2:Issuer>http://localhost:55222/</saml2:Issuer>
            <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
                <SignedInfo>
                    <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                    <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
                    <Reference URI="#_84221eaa-d037-4278-b1ae-c64c65b539c1">
                        <Transforms>
                            <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                            <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                <InclusiveNamespaces PrefixList="ds saml2 saml2p" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
                            </Transform>
                        </Transforms>
                        <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                        <DigestValue>dEZmeGoUqw7nEXgiZuLWe7PvwBtjq1V2VKRFduW41Jc=</DigestValue>
                    </Reference>
                </SignedInfo>
                <SignatureValue>Hll5YbghviQiW4UwJ3Y(..)</SignatureValue>
                <KeyInfo>
                    <X509Data>
                        <X509Certificate>MIIDZTCCAk2gAwIB(..)</X509Certificate>
                    </X509Data>
                </KeyInfo>
            </Signature>
            <saml2p:Artifact>AAQAAKFbFR94fxqmioAqjJUwfyUtjJbvUrUM29L6T7oP6OXLt7tjmwjRCFE=</saml2p:Artifact>
        </saml2p:ArtifactResolve>
    </soapenv:Body>
</soapenv:Envelope>

Nie mam już pomysłów, w czym może tkwić błąd.
Podpisuję element <saml2p:ArtifactResolve> i jeżeli weryfikuję podpis u siebie, to wszystko jest ok.
Czy ktoś, kto już ma poprawnie działający request mógłby go tu zamieścić?
Czy konieczne jest używanie transformaty http://www.w3.org/2002/06/xmldsig-filter2, jak to podane jest w przykładzie z dokumentu https://epuap.gov.pl/wps/wcm/[...]ntegratora_DT.pdf?MOD=AJPERES ?

edytowany 1x, ostatnio: jakub-pawlowski, 2019-10-11 13:39

Pozostało 580 znaków

2019-10-11 13:42
0

Czy przejdzie tu: http://www.soapclient.com/soaptest.html
lub tu: https://wsdlbrowser.com/


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon, 2019-10-11 13:57

Pozostało 580 znaków

2019-10-11 14:38
0

Dzięki za wskazówki. Sprawdziłem obydwa serwisy:
W pierwszym wyrzuca mi odpowiedź:

com.pentacomp.common.saml.ex.SamlXmlSignatureException: Wiadomość ArtifactResolve nie jest podpisana.

Co jest zrozumiałe, ponieważ nie mogę za pomocą ich interfejsu wprowadzić podpisu. :)

Natomiast na drugim dostaję dokładnie tą samą odpowiedź co u siebie, czyli Nieprawidłowy podpis...

Pozostało 580 znaków

2019-10-14 15:14
0

nie patrzyłam dokładnie na xml-a, ale czy na pewno masz dobrze podanego Issuera (localhost??) i SSO callback address?

Pozostało 580 znaków

2019-10-16 09:56
1

Już wiem co było przyczyną niepoprawnego podpisu...
Tworząc dokument XML używałem:

            XmlDocument xmlDocument = new XmlDocument();

Po zmianie na:

            XmlDocument xmlDocument = new XmlDocument()
            {
                PreserveWhitespace = true,
            };

podpis działa poprawnie.

Odnośnie issuera, to taką nazwę podałem do ePUAP, więc takiego używam :)

edytowany 1x, ostatnio: jakub-pawlowski, 2019-10-16 09:58

Pozostało 580 znaków

2019-11-04 11:47
0

Staram się właśnie wykonać integrację z PZ SSO. Zacząłem od czytania instrukcji na epuap. Okazało się że tam nie ma nic co jest potrzebne. Mam parę pytań.

  1. Do konsoli draco wgrywamy certyfikat który dostaliśmy od COI w odpowiedzi na wniosek o integrację?
  2. Jeśli tak kto który bo w pliku certyfikat.txt są dwa:
    Subject: CN=http://adres.pl,O=nazwa,C=PL
    Issuer: CN=INT_ePUAPiPZ
    -----BEGIN CERTIFICATE-----
    {certyfikat}
    -----END CERTIFICATE-----
    Subject: CN=INT_ePUAPiPZ
    Issuer: CN=INT_ePUAPiPZ
    -----BEGIN CERTIFICATE-----
    {certyfikat}
    -----END CERTIFICATE-----
  3. Jeśli nie to który powinien się znaleźć?
  4. czy powinien być przetransformowanyt z .p12 do .pem (X509) ?
  5. Do wysłania zapytania AuthnRequest potrzebujemy XML (mój poniżej). W jaki sposób go podpisujemy ? Którym certyfikatem? czy coś z tym certyfikatem musimy zrobić?
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="AdresurlZwrotny/epuap/" ID="ID-ad9a26a8-c3b9-478e-8ceb-51e38bf04d1f" Version="2.0" IssueInstant="2019-11-04T14:30:30+02:00" Destination="https://pz.gov.pl/dt/SingleSignOnService" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact">
  <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">Nazwa systemu w draco</saml2:Issuer>
  <saml2p:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
</saml2p:AuthnRequest>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0