W javie przecież na symulatorze jest deszyfracja asercji
Uwierzytelnianie ePUAP na podstawie danych z Profilu Zaufanego
Wątek przeniesiony 2017-11-27 13:03 z Newbie przez somekind.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
na symulatorze? chyba gdzieś nie dotarłem ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
w sumie to nawet juz nie istotne, dogrzebalem sie i elegancko mi sie dane deszyfruja
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
Na witrynie symulatora jest link do aplikacji konsolowej w javie. W kodzie źródłowym jest deszyfrowanie asercji (I tylko to w sumie).
Jako że cały symulator ma white listę ip maszyn deweloperskich zgłaszanych przy rejestracji na symulator, publikowanie linku jest bezcelowe, bo nie da się tak "z ulicy" tego pobrać (to jest trochę niezrozumiałe dlaczego taki jest, dokumentacja jest publiczna ale kawałek demo kodu już nie).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Cześć, mam pewnie z pozoru proste pytanie, ale nie jestem do końca pewien jak wygląda przesłanie artefaktu po poprawnym logowaniu przez węzeł krajowy, czy to jest doklejany parametr do url podanego dla COI i wygląda to np tak: {podany_url}?SAMLart=abc(...), czy jak to wygląda po stronie frontu? Bo jeśli dobrze rozumiem to WK zwraca artefakt do frontu, a tam dopiero następuje przekazanie do API
- Rejestracja: dni
- Ostatnio: dni
- Postów: 373
WK robi przekierowanie pod wskazany adres jako POST doklejając do adresu SAMLArt (jak dobrze pamiętam). Teraz uwaga. Przy pierwszy strzale do WK na test(na prod podaje się im), WK zapisuje sobie pewne dane jako wzorcowe, issuer itp. Odkryłem to przypadkiem, jak chciałem przetestować czy cert jest dobry. Trzeba do COI potem pisać. Oni uznają to jako oczywiste, więc nie ujeli tego w dokumentacji.
Czy ktoś robił obecnie integrację z WK produkcyjną? 2 miesiące temu urząd miasta złożył papiery o pozwolenie na przyłączenie produkcyjne po testach na serwerze testowym i cisza z ich strony. Znów jakiś czas temu zmienili zasady i dołożyli kolejny etap biurokracji
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Okej, czyli jako "AssertionConsumerServiceURL" powinienem ustawić adres url endpointa z mojego api, a nie do strony frontendowej, zgadza się?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 373
@bartekglu Jeżeli masz apkę restową i twoje fronty to np. React to tak. Musisz mieć endpoint, który potrafi obsłużyć zapytanie POST. Chyba, że da się to jakoś obejść. Ja robię tak, że mam:
Front, Backend, Mikroserwis do logowania przez WK.
I teraz Flow:
- User klika przycisk na frontach i odpytuje backend o SAMLRequest oraz url
- Backend odpytuje mikroserwis o SAMLRequest oraz url. Backend posiada dane autoryzacyjne do mikroserwisu
- Mikroserwis generuje SAMLRequest i zwraca do backendu, a backend na fronty
- Fronty robią przekierowanie do WK
- WK po skończeniu procesu logowania, przekierowuje do mikroserwisu i przesyła SAMLart oraz returnURL. Return url ustawiam podczas tworzenia SAMLRequest i ustawiam w AssertionConsumerServiceURL
https://api.test/callback/wk?returnUrl=https://fronty.pl/logingov - Mikroserwis robi przekierowanie pod wskazany returnUrl
https://fronty.pl/logingov?SAMLArt=AAQAAJ5x.... - Fronty przekazują SAMLArt na backend, backend do mikroserwisu, ten przeprowadza pobiera dane z WK i przekazuje do backendu.
- Backend tworzy nowe konto/loguje do apki i zwraca credentials na fronty
Troszkę to skomplikowane i obecnie inaczej bym to wykonał, aczkolwiek wynika to z tego, że parę niezależnych apek mamy pod to podpięte, apki znów bazują na tenantach i działają w modelu SaaS, a czasowo miałem sam to napisać jak najszybciej. Ostatecznie chyba się w 3/4 tygodnie pracy z przerwami i w międzyczasie wyrobiłem. Godzinowo nie pamiętam jak to wyszło.
Mikroserwis ma bazę danych, gdzie na podstawie danych do autoryzacji z backendu, pobiera odpowiednie certyfikaty.
BTW: Zobacz sobie na jakieś stronie, która oferuje logowanie przez WK (np. E-Podatki) jak zwracany jest SAMLArt
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
bartekglu napisał(a):
Cześć, mam pewnie z pozoru proste pytanie, ale nie jestem do końca pewien jak wygląda przesłanie artefaktu po poprawnym logowaniu przez węzeł krajowy, czy to jest doklejany parametr do url podanego dla COI i wygląda to np tak: {podany_url}?SAMLart=abc(...), czy jak to wygląda po stronie frontu? Bo jeśli dobrze rozumiem to WK zwraca artefakt do frontu, a tam dopiero następuje przekazanie do API
W repo biblioteki klienckiej jest zaimplementowany przykładowy serwer.
https://github.com/wzychla/OldMusicBox.EIH.Client
Ten serwer co prawda jest napisany w C# ale zadziała z dowolnym klientem, napisanym w czymkolwiek. Serwer uruchamia się w VS2022 po prostu, ściągnięty z github.
Tego typu wstępne eksperymenty można więc robić z tym serwerem, bo jest w pełny debugowalny. Testowanie ze zdalnym serwerem WK (obojętnie którym) dopiero jak przejdą testy z zastępnikiem serwera.
Tej biblioteki klienckiej mamy całkiem trochę wdrożeń produkcyjnych, nawiasem mówiąc i skoro ona od strony klienta działa i z zastępnikiem serwera i z prawdziwymi WK, to tym bardziej dowodzi że ten zastępnik serwera jest ok.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Kolejne wyzwanie przede mną, integracja z ePUAP. Korzystając tym razem z klienta @Wiktor Zychla udało mi się zaimplementować wstępną komunikację. Otóż założenie projektu jest takie, żeby stworzyć serwis do obsługi spraw z ePUAPU. Tzn. żeby użytkownik zalogowany w moim systemie miał wgląd do listy spraw, mógł przejść do konkretnej sprawy, mógł wypełnić formularz w serwisie, gdzie część danych będzie automatycznie uzupełniana, następnie podpisać taki dokument oraz przesłać na skrzynkę danej instytucji. Ale zatrzymałem się na problemie, może bardziej merytorycznym, że nie do końca wiem jak obsłużyć tą wysyłkę dokumentów. Rozumiem, że tworzę z formularza plik xml, podpisuję go, ale co dalej z tym podpisanym plikiem. Najbardziej mi pasuje tutaj operacja "Nadaj" z WS-Skrytka, gdzie podajemy podmiot i adres skrytki odbiorcy, ale przy próbie wysyłki zwraca mi błąd "brak autoryzacji". Odbiorcą zawsze będzie dana instytucja, dla której mam utworzone konto testowe z certyfikatem itd. Wysyłka pliku w drugą stronę tj. od instytucji do jakiegokolwiek innego użytkownika działa poprawnie. Domyślam się, że za pomocą innego punktu końcowego powinienem wysyłać ten plik. Może ktoś z was również tworzył podobny serwis i mógłby podpowiedzieć jak to zaimplementować?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
Nie ma nadawcy jako użytkownik. Nie ma takiego api. Jest nieudokumentowany punkt końcowy, w demo mojej biblioteki do epuap jest przykład.
Jako że to jest nieudokumentowane, trudno orzec czy warto.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Z tego co się orientuję to istnieją platformy obsługujące tego typu rozwiązania. Wiadomo, na pomoc supportu nie można liczyć, czekanie tygodniami na odpowiedź na zgłoszenie, w rozmowach telefonicznych nie wiedzą jak pomóc, ale szukając w internecie jakichkolwiek informacji natknąłem się na opis wdrożenia systemu EOD i eUsług i tam w Wymaganiach funkcjonalnych jest to tak przedstawione:

Nie ukrywam, że jest to mniej więcej to co bym potrzebował. Cały proces jest jasny do momentu, gdzie przygotowane dokumenty po stronie systemu mają być automatycznie wysłane do odbiorcy na jego skrytkę ePUAP (pkt. 4.3). To w końcu jest możliwy taki zabieg, czy nie? Jak to ostatecznie wygląda i w jaki sposób zaimplementować taką funkcjonalność?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1
Wiktor Zychla napisał(a):
Szymon Kaleba napisał(a):
Cześć, czy ktoś próbował i zrobił logowanie przez WK za pomocą typescript i node.js? Zatrzymałem się na etapie podpisu koperty, ale zawsze dostaje odpowiedź "Błąd podczas weryfikacji podpisu lub certyfikatu w żądaniu AuthnRequest wysłanym przez system kliencki o nazwie Issuer '...': Niepoprawny podpis.". Jakieś wskazówki na przeskoczenie problemu? Czy podpisywana koperta może być w postaci stringa w jednej linii? Czy trzeba przetworzyć klucz(.key) lub certyfikat (.pem)? Używam biblioteki xml-crypto i po kilku zmianach w bibliotece wykonuje moim zdaniem identyczną postać AuthnRequest, tylko jest ona ciągiem znaków zamiast ładnie sformatowanego xml.
Pozdrawiam
- Podpisany xml bez znaków nowej linii bywa łatwiejszy do prawidłowego podpisania, choć w teorii po to jest normalizacja w trakcie generowania sygnatury żeby być na to odpornym. Ale pomagałem kiedyś komuś, bodaj w PHP, komu sygnatury generowane biblioteką phpową przechodziły przez epuap tylko jak xml był jednolinijkowy
- Bicie głową w symulator który zwraca błąd podpisu można sobie trochę złagodzić, pisałem już o tym, w moim repo na GitHub z kodem klienta dla .net, jest też zastępnik serwera, który sobie można użyć lokalnie w kontrolowanych warunkach, z kodem klienta w czymkolwiek. Różnica między moim zastępnikiem serwera a symulatorem wk jest taka że mój można lokalnie debugować, jest więc większą szansa że się wyłapie co jest nie tak
@Wiktor Zychla Zrobiłem tak jak Pan opisał w punkcie 2. Lokalnie (po dostosowaniu implementacji) wykorzystując serwer demo AuthnRequest jest poprawnie walidowany i udaje mi się przechwycić AuthnResponse. Niestety ta sama implementacja strzelając do środowiska INT WK powoduje http 403 Forbidden, a po stronie WK w logach widnieje 'Niepoprawny podpis'. Co może być przyczyną?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
@Wiktor Zychla Zrobiłem tak jak Pan opisał w punkcie 2. Lokalnie (po dostosowaniu implementacji) wykorzystując serwer demo AuthnRequest jest poprawnie walidowany i udaje mi się przechwycić AuthnResponse. Niestety ta sama implementacja strzelając do środowiska INT WK powoduje http 403 Forbidden, a po stronie WK w logach widnieje 'Niepoprawny podpis'. Co może być przyczyną?
należy zastosować sprawdzenie krzyżowe:
wyjąć certyfikat którego się używa do połączenia z int.wk z aplikacji node.js i wstawić do mojej aplikacji klienckiej (tej z github). nawiązać połączenie.
jeśli połączenie też nie przechodzi (czyli nie przechodzi ani z node.js ani z C#) to znaczy że certyfikat użyty do komunikacji nie jest prawidłowy (i 403 z wk zwracane jest z powodu błędnego certyfikatu)
jeśli połączenie przechodzi (czyli przechodzi z C# ale nie przechodzi z node.js na tym samym certyfikacie) to znaczy że to jest jakiś przypadek brzegowy, w którym walidator jaki mam w demo serwer jest liberalniejszy od tego który ma wk. wtedy nie ma innej rady niż zrobienie porównania XML wychodzącego z C# (tego które działa) z tym które wychodzi z node.js (tego które nie działa), węzeł po węźle. być może porównanie struktury węzłów ujawni coś co naprowadzi na trop rozwiązania. w najgorszym razie trzeba próbować podpisywać cokolwiek, testowego, ale tego samego, z C# i z node.js, tak długo aż sygnatury będą takie same.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 95
Cześć,
mam problem z integracją z epuapem. Chcę wywołać metodę: addDocumentToSigning w usłudze TpSign5.
niestety dostaję odpowiedź:
<soap:Body>
<soap:Fault>
<faultcode xmlns:ns1="ws.apache.org/wss4j">ns1:SecurityError</faultcode>
<faultstring>A security error was encountered when verifying the message</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Jest ona bardzo pomocna :)
Wiadomość jest podpisana certyfikatem jaki został udostępniony przez profil zaufany. W którym kierunku szukać błędu?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
Albo/albo
- albo to jest stary kod który zawsze działał i teraz nie działa na nowym certyfikacie - wtedy problemem jest certyfikat
- albo to jest nowy kod który jeszcze do tej pory nie działał i przechodzi dopiero testy integracyjne - wtedy problemem jest nieprawidłowa sygnatura
Opis problemu jest dość lakoniczny i - trochę jak z tym "pomocnym" komunikatem błędu, podobnie tu, niewiele da się więcej powiedzieć.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
kalar napisał(a):
Cześć,
mam problem z integracją z epuapem. Chcę wywołać metodę: addDocumentToSigning w usłudze TpSign5.
niestety dostaję odpowiedź:<soap:Body> <soap:Fault> <faultcode xmlns:ns1="ws.apache.org/wss4j">ns1:SecurityError</faultcode> <faultstring>A security error was encountered when verifying the message</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>Jest ona bardzo pomocna :)
Wiadomość jest podpisana certyfikatem jaki został udostępniony przez profil zaufany. W którym kierunku szukać błędu?
@kalar Udało się znaleźć przyczynę tego błędu?
Update:
U mnie błędem były polskie znaki w "AdditionalInfo", więc zwracało 500 server error.. można było się domyślić przecież :)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
Mieliśmy też taki problem, faktycznie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Orientuje się ktoś może, czy jest możliwość wyciągnięcia adresu skrytki epuap użytkownika przy logowaniu profilem zaufanym?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
Według mojej wiedzy nie ma.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Może miał ktoś ten problem, że każdorazowe wysłanie żądania usługi GetTpUserInfo z PZ, zwraca informację o nieznalezieniu użytkownika przypisanego do asercji?
Odszyfrowana asercja:
<saml2:Assertion xmlns:coi-extension="http://coi.gov.pl/saml-extensions" xmlns:coi-naturalperson="http://coi.gov.pl/attributes/naturalperson" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsig11="http://www.w3.org/2009/xmldsig11#" xmlns:eidas="http://eidas.europa.eu/saml-extensions" xmlns:kirwb="http://wb.kir.pl/saml-extensions" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:naturalperson="http://eidas.europa.eu/attributes/naturalperson" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:xenc11="http://www.w3.org/2009/xmlenc11#" ID="_ID-0e123as3e-3333-2222-1111-123123123" IssueInstant="2024-06-25T04:39:06.051Z" Version="2.0">
<saml2:Issuer>int.login.gov.pl</saml2:Issuer>
<saml2:Subject>
<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"></saml2:NameID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData InResponseTo="ID-asdf-asdf-asdf-asdf-asdf" NotOnOrAfter="2024-06-25T05:28:57.000Z" Recipient=""/>
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions NotBefore="2024-06-25T04:38:57.000Z" NotOnOrAfter="2024-06-25T05:28:57.000Z">
<saml2:AudienceRestriction>
<saml2:Audience></saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement AuthnInstant="2024-06-25T04:39:06.051Z" SessionIndex="e1ab62">
<saml2:AuthnContext>
<saml2:AuthnContextClassRef>http://eidas.europa.eu/LoA/substantial</saml2:AuthnContextClassRef>
<saml2:AuthenticatingAuthority>pz.gov.pl</saml2:AuthenticatingAuthority>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute FriendlyName="DateOfBirth" Name="http://eidas.europa.eu/attributes/naturalperson/DateOfBirth" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="naturalperson:DateOfBirthType"></saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="FamilyName" Name="http://eidas.europa.eu/attributes/naturalperson/CurrentFamilyName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="naturalperson:CurrentFamilyNameType"></saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="FirstName" Name="http://eidas.europa.eu/attributes/naturalperson/CurrentGivenName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="naturalperson:CurrentGivenNameType"></saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute FriendlyName="PersonIdentifier" Name="http://eidas.europa.eu/attributes/naturalperson/PersonIdentifier" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="naturalperson:PersonIdentifierType"></saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>
Odpowiedź żądania GetTpUserInfo
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>601: Nie znaleziono użytkownika przypisanego do asercji o identyfikatorze '_ID-0e123as3e-3333-2222-1111-123123123'</faultstring>
<detail>
<ns3:TpUserInfoException xmlns:ns2="http://userinfo.zp.epuap.gov.pl" xmlns:ns3="http://exception.userinfo.zp.epuap.gov.pl">
<message>601: Nie znaleziono użytkownika przypisanego do asercji o identyfikatorze '_ID-0e123as3e-3333-2222-1111-123123123'</message>
</ns3:TpUserInfoException>
</detail>
</soap:Fault>
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
GetTpUserInfo służyło do pobierania informacji z flow logowania przez ePUAP. Tam asercja zawierała jeden claim, identyfikator sesji, i to on był argumentem do GetTpUserInfo.
A logowanie ePUAP przecież już jest niedostępne.
Jeżeli więc używa się tu identyfikatora asercji z WK (a tak wygląda sama asercja jak te pochodzące z WK) to to są dwa różne systemy logowania, ePUAP i WK, identyfikator asercji z jednego nie jest prawidłowym identyfikatorem sesji w drugim.
Mówiąc inaczej, należy zapomnieć o funkcji GetTpUserInfo.
bartekglu napisał(a):
Może miał ktoś ten problem, że każdorazowe wysłanie żądania usługi
GetTpUserInfoz PZ, zwraca informację o nieznalezieniu użytkownika przypisanego do asercji?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Racja, pominąłem fakt, że mogli nie zaktualizować dokumentacji. No to w takim razie inne pytanie, czy w ogóle jest udostępniona jakaś usługa, z której mogę wyciągnąć identyfikator konta użytkownika ePUAP? Z tego co widzę, to tylko przy weryfikacji podpisanego dokumentu, w innych dokumentacjach nic nie znalazłem na ten temat, a chciałbym to zrobić bez podpisywania dokumentu
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
"Identyfikator konta"? W sensie, login?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Tak, w sensie login, dlatego pytałem o GetTpUserInfo, bo tam, tak jak dokumentacja wskazuje, zwracany był ten login jako id konta
<ppZP:IdKontaUzytkownikaEpuap>user01</ppZP:IdKontaUzytkownikaEpuap>
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1
bartekglu napisał(a):
kalar napisał(a):
Cześć,
mam problem z integracją z epuapem. Chcę wywołać metodę: addDocumentToSigning w usłudze TpSign5.
niestety dostaję odpowiedź:<soap:Body> <soap:Fault> <faultcode xmlns:ns1="ws.apache.org/wss4j">ns1:SecurityError</faultcode> <faultstring>A security error was encountered when verifying the message</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>Jest ona bardzo pomocna :)
Wiadomość jest podpisana certyfikatem jaki został udostępniony przez profil zaufany. W którym kierunku szukać błędu?@kalar Udało się znaleźć przyczynę tego błędu?
Update:
U mnie błędem były polskie znaki w "AdditionalInfo", więc zwracało 500 server error.. można było się domyślić przecież :)
Cześć,
czy ktoś napotkał inny błąd, który generował powyższą odpowiedź i udało się go rozwiązać? W moim przypadku nie mam żadnych polskich znaków a cały czas otrzymuje "A security error was encountered when verifying the message".
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5
Cześć,
Czy może ktoś z was zna przyczynę błędu w ArtifactResponse Status:
StatusCode: Requester
StatusMessage: 5041
Co może oznaczać powyższy błąd?
W dokumentacjach w formie plików docx niestety nie znalazłem opisu powyższego błędu.
Edit:
Mój błąd, nie dokonałem decodingu SAMLart, a więc powyższy błąd oznacza błędnie przesłany SAMLart w ArtifactResolve.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5
Czy może ktoś miał następujący problem:
int.login.gov.pl
ArtifactResponse
Problem z decryptKey (Integrity check failed) ale tylko dla niektórych odpowiedzi, nie pozwala mi to czasem odszyfrować danych z ArtifactResponse?
Raz się udaje innym natomiast nie, tak jakby został dla tych innych przypadków użyty niekompatybilny klucz do szyfrowania.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
Cześć , odświeżę temat integracji z login.gov.pl w php, ktoś ostatnio przechodził i jest w stanie pomóc ?
Edit: ogarnięte, działa prawidłowo , bardzo pomógł kod klienta od kolegi Wiktor Zychla.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1
Cześć,
Jestem obecnie na etapie integracji z pordukcją i posiadam certyfikaty wygenerowanych przez firmę Certum. Na podstawie certyfikatu od Certum i klucza prywatnego stworzonego przy generowaniu CSR stworzyłem plik ".pfx". Dodałem go do API, które jest zbudowane na podstawie kodu od @Wiktor Zychla . Dodałem to w taki sposób, że zastąpiłem pliki z certyfikatami użytymi do integracji z serwerem integracyjnym WK. Niestety przy odpalaniu aplikacji dostaję błąd z informacją "pad block corrupted", który pochodzi z biblioteki "BouncyCastle" i dzieje się w momencie zaczytywania plików z certyfikatami. Czy jest ktoś w stanie mi pomóc?