Błąd podczas logowanie - ZalogujPodpisem

MichalC
Posty: 6
Rejestracja: śr paź 17, 2018 3:50 pm
Firma: BiuInf

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: MichalC » pn lis 05, 2018 11:34 am

W końcu udało się rozwiązać problemy.

Zebrałem uwagi dla .NETowców

W skrócie:
1. Przede wszystkim EZLA wymaga prefiksu "ds" w Signature i elementach podrzędnych!!! Straszne ale prawdziwe. Nigdy bym na to nie wpadł. Ktoś najwyraźniej łamie standard zapominając o domyślnych przestrzeniach nazw...
2. Signature i SignedInfo muszą mieć wypełniony atrybut "Id"
3. Trzeba użyć "XmlDsigExcC14NTransformUrl" czyli "http://www.w3.org/2001/10/xml-exc-c14n#" zamiast XmlDsigC14NTransformUrl aby uniknąć błędu "105. a) KIR: Negatively verified: Invalid hash in the Reference object in XML signature"
4. Aby umożliwić poprawną obsługę XAdES trzeba w SignedXml nadpisać metodę GetIdElement i poprawić wyszukiwanie elementu po Id

Ad 1.
Uzyskanie "ds" przy pomocy SignedXml w .NET jest niewątpliwym wyzwaniem. Na szczęście wykonywalnym. Szkoda tylko, że trzeba się tyle napracować, bo komuś się nie chciało trzymać standardu.

Podziękowania dla p. Renaty Wiśniewskiej za cierpliwość.

Krzysztof Kocunik
Posty: 4
Rejestracja: śr cze 06, 2018 11:02 am
Firma: Bydgoszcz

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: Krzysztof Kocunik » wt lis 06, 2018 8:25 pm

Witam.

Też mam błąd 105, ale tylko przy logowaniu certyfikatem ZUS-owskim.
Na jakiej podstawie jest generowany atrybut "Id" w Signature i SignedInfo?

Pozdrawiam

MichalC
Posty: 6
Rejestracja: śr paź 17, 2018 3:50 pm
Firma: BiuInf

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: MichalC » śr lis 07, 2018 8:41 am

Krzysztof Kocunik pisze:
wt lis 06, 2018 8:25 pm
Na jakiej podstawie jest generowany atrybut "Id" w Signature i SignedInfo?
Na podstawie własnego pomysłu na unikalny identyfikator.
Przykładowo może to być oparte na czasie:

Kod: Zaznacz cały

signedXml.Signature.Id = "Signature_" + DateTime.Now.Ticks.ToString();
signedXml.SignedInfo.Id = "SignedInfo_" + DateTime.Now.Ticks.ToString();

Krzysztof Kocunik
Posty: 4
Rejestracja: śr cze 06, 2018 11:02 am
Firma: Bydgoszcz

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: Krzysztof Kocunik » wt lis 13, 2018 11:52 am

Dziękuję za odpowiedź.
Pozdrawiam.

Krzysztof Kocunik
Posty: 4
Rejestracja: śr cze 06, 2018 11:02 am
Firma: Bydgoszcz

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: Krzysztof Kocunik » śr lis 21, 2018 8:52 am

Witam. Czy ktoś z forumowiczów integrował podpis elektroniczny w PHP?

lukasz.golabek
Posty: 2
Rejestracja: śr lis 14, 2018 4:28 pm
Firma: SinglePoint

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: lukasz.golabek » śr lis 21, 2018 11:28 am

Moje rozwiązanie dla .NETa, może komuś się przyda.
wymaga użycia pakietu: FirmaXadesNet

Kod: Zaznacz cały

private string SignOswiadczenie(X509Certificate2 cert, string oswiadczenie)
{
	var parameters = new SignatureParameters
	{
		SignaturePackaging = SignaturePackaging.ENVELOPED,
		DigestMethod = DigestMethod.SHA1,
		SignatureMethod = SignatureMethod.RSAwithSHA1,
		SigningDate = DateTime.UtcNow,
	};

	Stream xmlStream = oswiadczenie.ToStream(); //helper
	var SignedXmlStream = new MemoryStream();

	var xadesService = new XadesService();

	using (parameters.Signer = new Signer(cert))
	{
		var docFirmado = xadesService.Sign(xmlStream, parameters);
		docFirmado.Save(SignedXmlStream);
		SignedXmlStream.Flush();
		SignedXmlStream.Position = 0;

		var res = Encoding.UTF8.GetString(SignedXmlStream.ToArray());
		res = res.Remove(0, res.IndexOf("<Oswiadczenie>"));

		return res;
	}
}

september
Posty: 1
Rejestracja: ndz lis 11, 2018 3:15 am
Firma: Warszawa

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: september » ndz lis 25, 2018 10:37 pm

Witam,
Dopiero zaczynam zabawę w integrację, więc proszę o wyrozumiałość. Próbuje właśnie wykonać pierwsze logowanie przy pomocy certyfikatu ZUS w Javie przy użyciu biblioteki Xades4J i niestety dostaje błąd 105, a) KIR: Niepoprawne dane. Błąd podczas weryfikacji podpisu.
Szczerze pisząc nie wiem od czego zacząć. Mając na uwadze użyte technologie, czy ktoś mógłby udzielić mi rady/wskazówki?

orzeh
Posty: 7
Rejestracja: wt maja 22, 2018 3:08 pm
Firma: NubiSoft

Re: Błąd podczas logowanie - ZalogujPodpisem

Post autor: orzeh » pn gru 03, 2018 9:29 am

@september w naszej aplikacji używamy tych samych technologii. Odezwij się na priv jeśli nadal masz problem.

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość