Czy ktoś może mi powierdzić że to jest prawidłowy XML do podpisu.
OCzywiście trzeba zminic NIP i Challenge ale zależy mi na strukturze
Krajowy system e-Faktur
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 36
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 36
Wysyłam : i mam odpowiedź "exceptionCode": 21111,
"exceptionDescription": "Nieprawidłowe wyzwanie autoryzacyjne."
<Challenge>20251017-CR-3646FA7000-D7B5F12549-8C</Challenge>
<ContextIdentifier>
<Nip>5265877635</Nip>
</ContextIdentifier>
<SubjectIdentifierType>certificateSubject</SubjectIdentifierType>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature_176d5ab3-801b-4298-85f9-0fcfb94d9f31_41"><ds:SignedInfo Id="SignedInfo_176d5ab3-801b-4298-85f9-0fcfb94d9f31_19"><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference Id="Reference1_176d5ab3-801b-4298-85f9-0fcfb94d9f31_7f" URI="">ds:Transforms<ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">/descendant::*[name()='ds:Signature']</XPath></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>ds:DigestValueNjHtPXBW0ZAjbFvsfFndz6TX6j40dtekGznkWONwO1Q=</ds:DigestValue></ds:Reference><ds:Reference Id="SignedProperties-Reference_176d5ab3-801b-4298-85f9-0fcfb94d9f31_70" Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties_176d5ab3-801b-4298-85f9-0fcfb94d9f31_16"><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>ds:DigestValuek7SY57XrvHIGDmSN4UBBLgb0ViKup+hIqclJyKZ0nXw=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="SignatureValue_176d5ab3-801b-4298-85f9-0fcfb94d9f31_0a">lJD+m3aZdVN6TbE9KTlfvmrAEJTaderYTED96KqBzX+fHoXVTYBxdZ3jdE1264VY
e2jUflXrXP1BnG8iKk3gquRyRuMzMmPfs2UdwuWiQro7BwYkjW1wX/g7+u7gweWP
Y9l4ONLgZ/rse5RdDAOrMsEwHoqtLcUDmLuWjubejR3qpumpXQwfGpWKjUrEhr4H
FK1MoPzFyJ4+MOd+ek/sPjnN50f93BJl3zI+qfRE7/AtxEUBpL/isRXCKOQE7EKs
00Tpbhy1GO5fYS2aAZhubO7XDa4VZAMymnnEa1xTOPc6G0s2teT15db8XK+An4eE
1spQYubMzLn9jGznfeczdg==</ds:SignatureValue><ds:KeyInfo Id="KeyInfo_176d5ab3-801b-4298-85f9-0fcfb94d9f31_7c">ds:X509Datads:X509CertificateMIIGgDCCBGigAwIBAgIQUURTu3XEPTQAkMJAMyLvnjANBgkqhkiG9w0BAQsFADBl
MQswCQYDVQQGEwJQTDEhMB8GA1UECgwYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu
MRgwFgYDVQQDDA9DZXJ0dW0gUUNBIDIwMTcxGTAXBgNVBGEMEFZBVFBMLTUxNzAz
NTk0NTgwHhcNMjIxMjExMTMyODQ4WhcNMjUxMjEwMTMyODQ4WjBlMRcwFQYDVQQD
DA5QYXdlxYIgS29yY3phazEPMA0GA1UEKgwGUGF3ZcWCMRAwDgYDVQQEDAdLb3Jj
emFrMRowGAYDVQQFExFQTk9QTC02NDA2MDgwODA3MTELMAkGA1UEBhMCUEwwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDsvyNbIRykRBbM3rldf2tB+rV6
mEweNtqXD2hJq3zV5fZmva33cJRV5hPpqOYktwpzlTh0wkxC1d56XajqS0YvE7aX
MHx/nE6u4uPo0AIe8mOmyct3nw6M89o8PeYNUCpZiRbsXECO9Pbnl2156zUGqttE
HuXSyt2l0MeKpZkJw/jPlqQk/Md++jjmbkX4/FxLmZZzRun/H6tf75GVRoNx45A8
nnKmQvnagF9qV2EbOqX+a1U1p1Y9D5BQEYxxMWPE9k5rHxkzZKHW/OvSNJr8QYb8
5+Tn8CAHOBQGKSuQkv8C6C3YQAUgktt2/qqksOKQS4oWqbwxmbkAUxaPCh75AgMB
AAGjggIqMIICJjAMBgNVHRMBAf8EAjAAMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6
Ly9xY2EuY3JsLmNlcnR1bS5wbC9xY2FfMjAxNy5jcmwwcgYIKwYBBQUHAQEEZjBk
MCwGCCsGAQUFBzABhiBodHRwOi8vcWNhLTIwMTcucW9jc3AtY2VydHVtLmNvbTA0
BggrBgEFBQcwAoYoaHR0cDovL3JlcG9zaXRvcnkuY2VydHVtLnBsL3FjYV8yMDE3
LmNlcjAfBgNVHSMEGDAWgBQn8dhOYFBotmH+aBsobG3kC3MJTTAdBgNVHQ4EFgQU
xtqbYQj0W2l8HzRCzwx5kArAtZEwDgYDVR0PAQH/BAQDAgbAMFUGA1UdIAROMEww
CQYHBACL7EABAjA/BgwqhGgBhvZ3AgQBDAEwLzAtBggrBgEFBQcCARYhaHR0cDov
L3d3dy5jZXJ0dW0ucGwvcmVwb3p5dG9yaXVtMIHCBggrBgEFBQcBAwSBtTCBsjAI
BgYEAI5GAQEwCAYGBACORgEEMIGGBgYEAI5GAQUwfDA8FjZodHRwczovL3JlcG9z
aXRvcnkuY2VydHVtLnBsL1BEUy9DZXJ0dW1fUUNBLVBEU19FTi5wZGYTAmVuMDwW
Nmh0dHBzOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwvUERTL0NlcnR1bV9RQ0EtUERT
X1BMLnBkZhMCcGwwEwYGBACORgEGMAkGBwQAjkYBBgEwDQYJKoZIhvcNAQELBQAD
ggIBAGt60q8g7LP+xAlYGpVDJKO4rC1DvaqEPSOerIK3/BiKf3FW9djwz9ncZClB
R4LH0ogpCe+AMSGtjfxPAvoXND7O6vSbH440mHsrXrlXWgqdR3TySZlen1Ki/X6y
wfdozbIS9Zcjqmwh8KQG889XTXw6ZKbCPqvVqXDJkBM81ZkjaR5x2xtv03r8Tksz
OOFGIl1CMnjEAYkYHL4Ktw0eXg851YyqYwYnbh0Dn+cj34I0s4DeaYwFHf0VZaxX
HGvTy8F6PLDXZ/ffi0dOenCqBTYr1kfl36IWkZexJfI4eSi2R47lw35wvh2LiUxt
bgD8vIHdBvNHYvbdpEGwEXd9hjLt4FeGs1MY8S9ND8NcBwsI3enti6sl07VeuS6M
SxOXl0fCaHCqpj08rIMlgXrHNH2hJuRIclkgNJKTUegT79ww8TuiYusj2IRRqbO1
p4rGY6o/0ZZ5u1br3sTPV98nCZsOfIOVY3bTTiy1yVyTFm0L1mfzlj50U54c9H6d
eedSpbagi3s0hKKlFSjQ9UZuzDxuZWYB8qVIq/SFw7rhTe8mGoLghxfJWDa5AIST
PeXFPd3mQwxAlN2g84uQz0BxdDghzdTe40NTcAHHRD6SZp9Pgj8cQNFPgKoTcXYw
2MrkDJyXCXWmxWK2gqtaO3WE97pJo1sH4LfQtiv1/4IvfUQx</ds:X509Certificate></ds:X509Data></ds:KeyInfo>ds:Object<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties_176d5ab3-801b-4298-85f9-0fcfb94d9f31_1b" Target="#Signature_176d5ab3-801b-4298-85f9-0fcfb94d9f31_41"><xades:SignedProperties Id="SignedProperties_176d5ab3-801b-4298-85f9-0fcfb94d9f31_16"><xades:SignedSignatureProperties Id="SignedSignatureProperties_176d5ab3-801b-4298-85f9-0fcfb94d9f31_52">xades:SigningTime2025-10-17T16:01:09Z</xades:SigningTime>xades:SigningCertificatexades:Certxades:CertDigest<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>ds:DigestValuepmCllv+uQ2AzXLrUHYun9qlX/m8ntjUS0ferNA+y1XQ=</ds:DigestValue></xades:CertDigest>xades:IssuerSerialds:X509IssuerNameorganizationIdentifier=VATPL-5170359458,CN=Certum QCA 2017,O=Asseco Data Systems S.A.,C=PL</ds:X509IssuerName>ds:X509SerialNumber108022242137069031873393496465604800414</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties><xades:SignedDataObjectProperties Id="SignedDataObjectProperties_176d5ab3-801b-4298-85f9-0fcfb94d9f31_13"><xades:DataObjectFormat ObjectReference="#Reference1_176d5ab3-801b-4298-85f9-0fcfb94d9f31_7f">xades:DescriptionMIME-Version: 1.0
Content-Type: text/xml
Content-Transfer-Encoding: binary
Content-Disposition: filename="SignedXml_A3xml.xml"</xades:Description>xades:ObjectIdentifier<xades:Identifier Qualifier="OIDAsURI">http://www.certum.pl/OIDAsURI/signedFile/1.2.616.1.113527.3.1.1.3.1</xades:Identifier>xades:DescriptionOpis formatu dokumentu oraz jego pełna nazwa</xades:Description>xades:DocumentationReferencesxades:DocumentationReferencehttp://www.certum.pl/OIDAsURI/signedFile.pdf</xades:DocumentationReference></xades:DocumentationReferences></xades:ObjectIdentifier>xades:MimeTypetext/xml</xades:MimeType></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties><xades:UnsignedProperties Id="UnsignedProperties_176d5ab3-801b-4298-85f9-0fcfb94d9f31_0d"/></xades:QualifyingProperties></ds:Object></ds:Signature></AuthTokenRequest>
- Rejestracja: dni
- Ostatnio: dni
Mam pytanie o scenariusz wysłania faktury do KSEF w sytuacji kiedy mamy za ladą klienta który przebiera nogami, ponieważ musi mieć natychmiast fakturę zarejestrowaną w KSEF.
Po stronie aplikacji ..
- Otwieram sesję interaktywną
- W kontekście otwartej sesji wysyłam fakturę
- Otrzymuję numer referencyjny faktury
- Zamykam sesję
I tu zaczyna się jazda.
Otrzymanie numeru referencyjnego dla faktury nie oznacza że faktura została prawidłowo zarejestrowana w Ksef.
Muszę w pętli, cyklicznie sprawdzać status faktury , czy faktura została przetworzona i czy dostanę UPO albo informację o będzie.
Cały proces wymaga czasu, a klient stoi, czeka i niecierpliwie przebiera nogami
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 36
Mam ciekawostkę zalogowałem się do systemu KSEF-TEST peselem i podpisem certyfikowanym.
Ale nie mam autoryzacji.
https://ksef-test.mf.gov.pl/api/v2/auth/token/redeem
{
"exception": {
"exceptionDetailList": [
{
"exceptionCode": 21301,
"exceptionDescription": "Brak autoryzacji.",
"details": [
"Operacja uwierzytelniania 20251017-AU-3AECE97000-5A47F4F142-2A nie jest w stanie umożliwijącym pobranie tokenów."
]
}
],
"serviceCode": "00-8eb9391d44f16ece158e99e457b158ac-ceef1659b2605892-00",
"timestamp": "2025-10-17T17:34:11.4198885Z"
}
}
Kto może mi nadac prawa w tym systemie ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
Witam wszystkich,
ktoś wie dlaczego nie działa mi wysyłka AuthTokenRequest w .Net 4.7.2 gdzie używam praktycznie tego samego kodu udostępnionego przez MF ?
Czyli wszystkie struktury xml są identyczne.
Zwracany błąd to:
{"exception":{"exceptionDetailList":[{"exceptionCode":21401,"exceptionDescription":"Dokument nie jest zgodny ze schemą (xsd).","details":["The 'http://ksef.mf.gov.pl/auth/token/2.0:SubjectIdentifierType' element is invalid -
The value 'CertificateSubject' is invalid according to its datatype 'http://ksef.mf.gov.pl/auth/token/2.0:SubjectIdentifierTypeEnum' -
The Enumeration constraint failed."]}],"serviceCode":"00-255ae2c2d8b6794c21ac228e57c082f0-2006e5d95a33579a-00","timestamp":"2025-10-17T12:04:59.6625618Z"}}
XML przed zaszyfrowaniem jest "ten sam", jedyna różnica to Challenge
dla .Net Frameworka:
przy wysyłce w .Net 8.0
<?xml version="1.0" encoding="utf-8"?><authtokenrequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ksef.mf.gov.pl/auth/token/2.0"> <challenge>20251017-CR-48E5ED5000-50FFDC4F27-5A</challenge> <contextidentifier> <nip>8271121814</nip> </contextidentifier> <subjectidentifiertype>certificateSubject</subjectidentifiertype></authtokenrequest>Nieliczne różnice w kodzie to np. to
.Net8.0/9.0
var certificateDigest = Convert.ToBase64String(signingCertificate.GetCertHash(HashAlgorithmName.SHA256));
.Net Framework 4.7.2
using (var sha256 = new SHA256Managed())
{
var certificateDigest = Convert.ToBase64String(sha256.ComputeHash(signingCertificate.RawData));
Gdy użyję w .Net 8.0 tego samego xml do zaszyfrowania, który został utworzony w .Net Frameworku, to też dostaję błąd jak wyżej. Wysyłka odbywa się w ciągu 2-3 minut po pobraniu Challenge'a w .Net Frameworku.
Kod w .Net Framwork 4.7.2
AuthChallengeResponse challengeResponse = await ksefClient.GetAuthChallengeAsync();
AuthTokenRequest authTokenRequest = GetAuthorizationTokenRequest(
challengeResponse.Challenge,
contextIdentifierType,
nip,
SubjectIdentifierTypeEnum.CertificateSubject);
string unsignedXml = AuthTokenRequestSerializer.SerializeToXmlString(authTokenRequest);
//System.Security.Cryptography.X509Certificates.X509Certificate2 certificate = CertificateUtils.GetPersonalCertificate("A",
"R", "TINPL", nip, "A R");
System.Security.Cryptography.X509Certificates.X509Certificate2 certificate = CertificateUtils.GetCompanySeal("TEST", "VATPL-
8271121814", "TEST");
string signedXml = signatureService.Sign(unsignedXml, certificate);
SignatureResponse authOperationInfo = await ksefClient.SubmitXadesAuthRequestAsync(signedXml, false, CancellationToken.None);
Dzięki, pozdrawiam
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 36
Wygenerowałem własny certyfikat podpisu i niestety nie akceptuje mi tych podpisów , TEST-ksef .
Czego oczekują w tym podpisie ?
- Rejestracja: dni
- Ostatnio: dni
PK_64 napisał(a):
Wygenerowałem własny certyfikat podpisu i niestety nie akceptuje mi tych podpisów , TEST-ksef .
Czego oczekują w tym podpisie ?
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -config openssl.cnf
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem -name "Certyfikat NIP"
plik: openssl.cnf
[ req ]
default_bits = 2048
default_keyfile = key.pem
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[ req_distinguished_name ]
C = PL
ST = Mazowieckie
L = Warszawa
O = MojaFirma
OU = KSEF
CN = moja.pl
OID.2.5.4.97 = VATPL-9999999999
[ v3_req ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = moja-firma.pl
- Rejestracja: dni
- Ostatnio: dni
- Postów: 43
Przeczytałem właśnie prawie wszystko co tu przybyło od lipca (dużo tego). Dziwi mnie że wszyscy pracują jakby KSeF 1.0 nigdy nie istniał. Nie macie użytkowników środowiska produkcyjnego KSeF 1.0? Ja mam, i przez najbliższe 2-3 miesiące potrzebuję udostępnić obsługę środowiska demo KSeF 2.0 (żeby użytkownicy mogli się z nim zapoznać), równocześnie kontynuujac obsługę środowiska produkcyjnego KSeF 1.0. Stąd pytanie: czy da się zastosować tę samą logikę programu (a właściwie dwie takie same logiki dla dwóch środowisk docelowych), zmieniając tylko implementację funkcji (np. autoryzacji czy wysyłki faktur), czy raczej trzeba ten KSeF 2.0 obsłużyć zupełnie inaczej? Dla uproszczenia przyjmuję, że w tym okresie przejściowym autoryzowałbym użytkowników w KSeF 2.0 tokenami, a nie certyfikatami.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 43
Z tego, co tu czytałem, tym razem macie/mamy za pośrednictwem GH wpływ na prace nad API KSeF 2.0. Nie zapoznałem się jeszcze z tym API; czy możecie mi powiedzieć czy dodali przy wysyłce wsadowej jakąś metodę Abort? Postulowałem to im jeszcze za czasów KSeF 1.0. Chodzi o to, żeby w przypadku np. błędu bazodanowego po stronie klienta można było przerwać wysyłkę wsadową. W KSeF 1.0 wszystkie próby zrobienia tego kończyły się tym, że sesja pozostawała otwarta w nieskończoność.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 29
Czołem Panowie, udało wam się pobrać UPO? Wysyłam fakturke, zamykam sesje interaktywną i na UPO czekam w nieskończoność. Wcześniejsze etapy nie zgłaszają żadnych błędów, wszystko jest OK zgodnie z dokumentacją a UPO się nie pojawia
EDIT: Na TE testuje, cert wygenerowany przez ichniejszy tool z githuba
- Rejestracja: dni
- Ostatnio: dni
- Postów: 24
Czy linki do pobrania UPO mają jakiś termin ważności? Z moich testów wynika, że tak. Czemu to nie jest prosty link zawierający nr referencyjny sesji/faktury, hash faktury, nr ksef faktury, który można skonstruować samemu?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 487
Witam,
w zasadzie mam już przećwiczone wysyłanie faktur pojedynczo i zbiorczo - brakuje mi jedynie jeszcze korekt.
Czy dużo jest zabawy z korektami?
Drugie pytanie dotyczy czegoś z czym do tej pory nie miałem styczności - jak pobrać fakturę, którą ktoś wystawił na mnie jako odbiorcę?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 36
jak pobieracie faktury?
wysyłam takie zapytanie: {"subjectType":"Subject2","dateRange":{"dateType":"PermanentStorage","from":"2025-09-30T22:00:00.000+00:00","to":"2025-10-20T22:00:00.000+00:00"}} do /v2/invoices/query/metadata
a dostaje pusto:{"hasMore":false,"isTruncated":false,"invoices":[]}
a niby faktury są wystawione, nawet upo mam pobrane. brak mi juz pomysłów.
ktoś już odebrał wystawione faktury?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5
Czy ktoś się orientuje - jaka jest lista "status code" dla wysyłanych korekt faktur offline, dla których trzeba robić korektę techniczną ?
W opisie mamy coś takiego: Faktura zostaje odrzucona z powodu błędu technicznego (np. niepoprawna zgodność ze schematem XSD).
A jaka jest pełna lista "status code" tych odrzuceń ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 18
Mam takie pytanko, czy komuś się udało wygenerować podpis XADES w PHP? Kombinowałem chyba ze wszystkimi paczkami które istnieją ale ani razu nie udało mi się poprawnie wygenerować podpisanego pliku. Podpisywać próbuję certyfikatami self signed.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 36
korekta techniczna - ktoś wie jak tego używać? ja zrozumiałem, że to służy do właściwie poprawienia xml-a jeżeli był błędny a przeszedł walidacje i ksef go przyjął, ewentualnie do poprawienia faktury offline. tymczasem:
próbowałem wysyłać dostałem błąd że podałem hash i że hash tylko do offline. wysłałem drugi raz bez hasha, to dostałem błąd że duplikat faktury.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 264
Trzecia część kodu - wreszcie rozgryzłem szyfrowanie RSA-OAEP wg ich wymagań dla klucza do szyfrowania faktur:
function TEncryptor.EncryptOAEPToBase64(const aBuffer: array of Byte): String;
var
coder: TElRSAPublicKeyCrypto;
InStream: TMemoryStream;
OutStream: TStringStream;
ai: TElRSAOAEPAlgorithmIdentifier;
begin
coder := TElRSAPublicKeyCrypto.Create(SB_OID_RSAENCRYPTION);
coder.KeyMaterial := TElRSAKeyMaterial.Create;
ai := TElRSAOAEPAlgorithmIdentifier.Create;
try
coder.CryptoType := rsapktOAEP;
ai.AlgorithmOID := SB_OID_RSAOAEP;
ai.Algorithm := SB_CERT_ALGORITHM_ID_RSAOAEP;
ai.HashAlgorithm := SB_ALGORITHM_DGST_SHA256;
ai.MGF := SB_CERT_MGF1_SHA256;
ai.MGFHashAlgorithm := SB_ALGORITHM_DGST_SHA256;
coder.LoadParameters(ai);
coder.OutputEncoding := pkeBase64;
Coder.KeyMaterial.Assign(fCert.KeyMaterial);
InStream := TMemoryStream.Create;
OutStream := TStringStream.Create;
try
InStream.Write(aBuffer[0], Length(aBuffer));
InStream.Seek(0, soFromBeginning);
coder.Encrypt(InStream, OutStream);
Result := OutStream.DataString;
finally
InStream.Free;
OutStream.Free;
end;
finally
ai.Free;
coder.KeyMaterial.Free;
coder.Free;
end;
end;
Może się przyda komuś. Ponownie - zero jakiś przykładów w necie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 16
Sesje uwierzytelniania - co z nimi robicie? Bo jak rozumiem, ich właściwie tylko przybywa...
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5
Mam problem z zaszyfrowaniem faktury w PHP. Mam błąd 435 - Błąd odszyfrowania pliku.
Mechanizm szyfrowania stosuje taki jak poniżej:
$plaintext = "Tekst do zaszyfrowania";
$secret_key = base64_decode("QzWKRWbW2DDjkroXQEaF5uGP7Q+bFfBe603Zq7lNQzU7JLDDX/EilY4S+KmlhcNUGROijbmWI5lpLD8jO0odMabrGN/vzdwMnVsn9RcWyhQA3NUrRu5rUCEERd0fCMoT14Sm5Rll/+6luzzuQifjVic53GyvkCPbWzykUQ3YWd5ObA+f6J4T7g0ZaA8Ze49yVfrHrd4U3po/CG5JN5tbx1J9ZVwk2vJdADXR1AanGQ490bmMF8X1zpL2hcrOyMMbOhuGDgjFo3Q+V/1vJMly8nf5EnlNLcHn3N6xkFHIxVwLpDwtN1U0XAi8+D6uuQU+H51fNeWzX6Rz2/pifKQUcw==");
$iv = base64_decode("refu1a/xFJI9hdr5FYPYYg==");
// Szyfrowanie
$encrypted = openssl_encrypt($plaintext, "AES-256-CBC", $secret_key, 0, $iv);
// Odszyfrowywanie
$decrypted = openssl_decrypt($encrypted, "AES-256-CBC", $secret_key, 0, $iv);
echo "Szyfrowany: " . $encrypted . "\n";
echo "Odszyfrowany: " . $decrypted . "\n";
Co robię źle.
Z góry dziękuje za pomoc.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 36
może ma ktoś testowy nip którym może się podzielić na którym jest ponad 10tys faktur zakupowych do pobrania? jeżeli tak to poproszę. może być na priv
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10
QR Code wygenerowany przez mnie (Offline i Certyfikat) Zawsze przekierowuje na "Not Found". Komuś się udało wygenerować QR Code z sensownym linkiem? Czy to po stronie ksefu jeszcze coś nie działa?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10
Plik xsl dla UPO gdzieś istnieje, czy samemu trzeba tworzyć?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 106
Czy ktoś w Delphi poza ewentualnie @Dzyszla bo on korzysta z SBB i tam chyba nie ma problemu, przetestował uwierzytelnienie z certyfikatem KSeF?
Bo jeśli chodzi o QRcode 2 to rozumiem, że szyfrujmey ten link z użyciem tego certyfikatu ale analogicznie jak szyfrujemy zawartość faktury ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7
Cześć. Udało mi dojść do tego co było problemem w przypadku mojego podpisu kwalifikowanego. Korzystam z Java 1.8 i musiałem podnieść jar'a "commons-codec" do wersji 1.15. W moim przypadku problemem było to, że biblioteka commons-codec dekorowała wartość funkcji skrótu w sekwencje ucieczki dla znaku nowej linii. Wyglądało to mniej więcej tak:
<?xml version="1.0" encoding="utf-8" standalone="no"?><AuthTokenRequest xmlns="http://ksef.mf.gov.pl/auth/token/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Challenge>20251020-CR-1718781000-FD117B0871-EE</Challenge>
<ContextIdentifier>
<Nip>1070001057</Nip>
</ContextIdentifier>
<SubjectIdentifierType>certificateSubject</SubjectIdentifierType>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="id-02ac4061b895b90dc0c4468aea2a0b5e"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference Id="r-id-02ac4061b895b90dc0c4468aea2a0b5e-1" URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><dsig-filter2:XPath xmlns:dsig-filter2="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">/descendant::ds:Signature</dsig-filter2:XPath></ds:Transform><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>MnC/KUc60IMAmUufV2VF+t08DMPDu5qfflqp57BBykw=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xades-id-02ac4061b895b90dc0c4468aea2a0b5e"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>EP3BKrBg+jyGBZ1Cuf5/5SuFPkBOlo1VffiA9x7HjJ8=
</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="value-id-02ac4061b895b90dc0c4468aea2a0b5e">OibWXEMv5j1MdAdxtYzeyPXMJVsICkexTAxCTL9bYc4bc15aDrxfuTGSI9V4dxy6rbWa9jjkwPLd
RwAyTv6zI2yf0dANztmRliNsFIcDjWS9YWBRnpgOpRwMrLkbGlvd+j38X+gqU9j0ZYo0EIOD0ioY
nCDfzKcPnQ5KS1phqQuNeabSgjqd2wo9nCibC3q6sUIHLcIIcZwijtpiX79JZg2H3T+LduQP68M3
vzu68jifTmfElFrIYxRkoP847BjY/5+D4SEUcSmODRcW0ooJOFc5WcN9D0GbgJiuvgTDUwRxG+Jb
kgEiIAwztVx9SbwaeN+CBOO2LHp6jv2Ukrs6pg==
</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIDBjCCAe6gAwIBAgIGAZoAXAT5MA0GCSqGSIb3DQEBCwUAMEQxDDAKBgNVBAoMA05GWjEZMBcG
A1UEYQwQVkFUUEwtMTA3MDAwMTA1NzEMMAoGA1UEAwwDTkZaMQswCQYDVQQGEwJQTDAeFw0yNTEw
MjAwNjQzNDFaFw0yNjEwMjAwNjQzNDFaMEQxDDAKBgNVBAoMA05GWjEZMBcGA1UEYQwQVkFUUEwt
MTA3MDAwMTA1NzEMMAoGA1UEAwwDTkZaMQswCQYDVQQGEwJQTDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAJeM3eALpb07OB98bcQ9A9ieyYFOJtrZEn5T+XhQzOxt4u2Y5L+Ml5w8aP/L
P1pHvaHSykMo8/Lw2z74bDN1Yr95d2W1mGxxWVCZCxvoLAD6CrR7nDjkvQKSYBDnwnikaIVjHPQp
r954rkZpMoFehFvvA33wtGJeIoDhcjSLN6C3rNLS7rnFC3u3y3KWfvu0BO+8NLI+jaY5gGm0bUKU
XzAG7P8Ru7gA/7ULaxyRP5Sh2h8fB1xF7zAIzQQqqmO8HQe/Yuk2deIMYxopUMYY8/uPxu7Th8EP
B8b3e87ia8twW5jVvofZnDxVHxT4Id9dsuLDtKuNi+fRseYNTSCCozcCAwEAATANBgkqhkiG9w0B
AQsFAAOCAQEAKPhcVu/nL5fyhdJvAEzAHE5yBl714WQNXVWezHt9IIyw90fghdJNfZ30VEMmJ7pf
v4tQR4u2B238RGC4B7ucQC/P0WLphRx8//1plTFlBFg5L1vp7PKa8ld9KStldw82v/O8hHN9sHp8
UQlssdoxBPOnN0bVbdVTn5bn43Q8hKlGR4LYGxjQikBDgMhrRQ7EguGDETCw2FMCrk2hvhrqC/Pl
ugzdp+au2jJveGc0N5yexQPo0sFcD8acd+pUDP0lMRA5Xb87MGXQulK+5RE/VhAa6dhMbP1bhJ5Y
w/VVS3v0NrrCZXgKf4sCDhSh/cTAzpBDXr4TFVWt9K6Esi0KhQ==
</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#id-02ac4061b895b90dc0c4468aea2a0b5e"><xades:SignedProperties Id="xades-id-02ac4061b895b90dc0c4468aea2a0b5e"><xades:SignedSignatureProperties><xades:SigningTime>2025-10-20T06:43:51Z</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>FL0tpA1VzUqJOoKNJw/IsHBvzj1YWODT6jNCWC+74vE=
</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>C=PL,CN=NFZ,2.5.4.97=#0c10564154504c2d31303730303031303537,O=NFZ</ds:X509IssuerName><ds:X509SerialNumber>1760942621945</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#r-id-02ac4061b895b90dc0c4468aea2a0b5e-1"><xades:MimeType>text/xml</xades:MimeType></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></AuthTokenRequest>
Teraz poprawny XML wygląda tak:
<?xml version="1.0" encoding="utf-8" standalone="no"?><AuthTokenRequest xmlns="http://ksef.mf.gov.pl/auth/token/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Challenge>20251020-CR-26F1367000-FD158FC241-5F</Challenge>
<ContextIdentifier>
<Nip>1070001057</Nip>
</ContextIdentifier>
<SubjectIdentifierType>certificateSubject</SubjectIdentifierType>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="id-06d2509060041c2b3d95c1afeeec799e"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference Id="r-id-06d2509060041c2b3d95c1afeeec799e-1" URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><dsig-filter2:XPath xmlns:dsig-filter2="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">/descendant::ds:Signature</dsig-filter2:XPath></ds:Transform><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>PEWtjASIA6G4IasfCUD6UrUSDBeHNm+SYYSpETrUX7U=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xades-id-06d2509060041c2b3d95c1afeeec799e"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>CogKrUyS/UwnguZzqXg1iwV/QeBp3pZnKqs7EuQspCA=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="value-id-06d2509060041c2b3d95c1afeeec799e">i37JJq4LaDQrG6WFKHwuYL/RGN8BQyAZNM21Rg1R8XMKxErPtIg/aSHvSZBfrk4rpATlaxvg3nMEti6rZwovJF0DixBLSxzTZYgquut+vPm3ugfUsVenwOVIwmL22ogipS1p6urCg7nzlJOkngbWmtaPWpHrXIB3a1ddUCKVLpFeaRzAZ+YqAmmTVu9fqD5SiQ5vuJ9XhvMotzpvDikmo9CuMQy+1L7IuR962vkvp1qnjO87JERce5+G26sE+doEth7aKDYYd3ZqsTl2nRvckx4aIPU5PGHWwUqxK0yEXNkQoqqTV1Jzw6dlHkYbVotOUrGm7ucPifO1Zodw81s6Wg==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIDBjCCAe6gAwIBAgIGAZoBWYeUMA0GCSqGSIb3DQEBCwUAMEQxDDAKBgNVBAoMA05GWjEZMBcGA1UEYQwQVkFUUEwtMTA3MDAwMTA1NzEMMAoGA1UEAwwDTkZaMQswCQYDVQQGEwJQTDAeFw0yNTEwMjAxMTIwMzVaFw0yNjEwMjAxMTIwMzVaMEQxDDAKBgNVBAoMA05GWjEZMBcGA1UEYQwQVkFUUEwtMTA3MDAwMTA1NzEMMAoGA1UEAwwDTkZaMQswCQYDVQQGEwJQTDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKWYayU0sm1j7dJc/PEF+8E42RHJQRfPk/D7CjaG1Rj6jaqZnvSyfJuablg33M/tHp4Y1/K8q8sxuztgB8LqOkNzXhWQt2rfMw2FZuXs8yJYxa9RFTgWaTbsvTGwAzNltGNHybGSVPdywOc/kN6Ex/oIuAYm7oe78GIsFk1+7cfGaIY10D1pQ5PdFhvuJP1JPw7gi4lFEAOZMczRXZIAlqyjS0Zf4wuGLAFJD7mhLfR7V9v2UQd1sh9QUVldRed2YLnOvoVwQMPA0euDZ0A7ipZrdQ976nANScxqcE65dfohqlHDt6GM7bAW8FMKIUVVRy1uAc/70KdgWjGFijPYLpkCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAc9WfFf2Iw5kMeenFZJfzcO1eBkt/VbJGNdRDOlsmUp1YfKhaMl1YTB0E+v7nBxgdLCPg9UkwSNBYF/dPONfbkPVsex/Svog4gb/URfXVnEbuSwwI5CrLoOoMtH6ZnuOmODRKGrbApFXWvSihRMzoNlWvO6haPuoosm4lRRPvPdzQMPJ5bsr2Jt/bJM6X9jK6msPBVsuoqBiSJQQvr5aP5tH8hV/fFHzzki6zKjOWZBmLImKmzymvDnxWiAKhb8BDn0Xy2vkTY4z/y/ZOOzHRhgwmNo4p+qe9YKsKBlj14PY1Jh3YGF4zDxWomlWeOwFXXlEz1YL2k3tBSmdMeJncnw==</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#id-06d2509060041c2b3d95c1afeeec799e"><xades:SignedProperties Id="xades-id-06d2509060041c2b3d95c1afeeec799e"><xades:SignedSignatureProperties><xades:SigningTime>2025-10-20T11:20:39Z</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>j4Xog4sDLqZVOBIbdp8KKA1fEc9dSJ6cpSo/itX7Zfg=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>C=PL,CN=NFZ,2.5.4.97=#0c10564154504c2d31303730303031303537,O=NFZ</ds:X509IssuerName><ds:X509SerialNumber>1760959235988</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#r-id-06d2509060041c2b3d95c1afeeec799e-1"><xades:MimeType>text/xml</xades:MimeType></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></AuthTokenRequest>
Ten XML powyżej jest poprawny. Upewnijcie się, że jakaś część softu "nie dekoruje wam" wartości funkcji skrótu o ENTER'y lub inne ozdobniki.
Aktualnie cały element ds:Signature...</ds:Signature> mieści się mi w jednej linii. I tak powinno być.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
Korzystam z OpenSSL (libcrypto-3.dll) ale nie mogę zalogować się tokenem Ksef dostaję odpowiedź "Invalid token encrytion". Pobieram certyfikat ksef (GET: /api/v2/security/public-key-certificates).
Poniżej kod w delphi. Nie wiem, gdzie popełniam błąd.
OPENSSL_init_crypto(0, nil);
//Przetwarzamy Klucz z PEM
bio := BIO_new_mem_buf(@CertData[0], Length(CertData));
x509 := PEM_read_bio_X509(bio, nil, nil, nil);
pkey := X509_get_pubkey(x509);
X509_free(x509);
BIO_free(bio);
//1. Załaduj klucz publiczny (PEM_read_bio_PUBKEY)
ctx := EVP_PKEY_CTX_new(pkey, nil);
if ctx = nil then raise Exception.Create('Failed to create EVP_PKEY_CTX');
//2. Utwórz kontekst EVP_PKEY_CTX_new
if EVP_PKEY_encrypt_init(ctx, nil)<=0 then raise Exception.Create('Encrypt init failed');
//3. Ustaw padding: RSA_PKCS1_OAEP_PADDING
if EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0 then raise Exception.Create('Padding set failed');
//4. Ustaw funkcję skrótu: EVP_sha256()
if EVP_PKEY_CTX_set_rsa_oaep_md(ctx, EVP_SHA256())<=0 then raise Exception.Create('OAEP SHA256 set failed');
if EVP_PKEY_CTX_set_rsa_mgf1_md(Ctx, EVP_sha256()) <= 0 then raise Exception.Create('MGF1 SHA256 set failed');
// Oblicz długość wyjściową
//5. Wywołaj EVP_PKEY_encrypt aby najpierw pobierz długość wyjścia
if EVP_PKEY_encrypt(ctx, nil, @outlen, @InputData[0], Length(InputData)) <= 0 then raise Exception.Create('Encrypt length failed');
// Ustaw wielkość bufora wyjścia
SetLength(Result, outlen);
// Potem zaszyfruj
if EVP_PKEY_encrypt(ctx, @Result[0], @outlen, @InputData[0], Length(InputData))<= 0 then raise Exception.Create('Encrypt RSA OAEP MPF1 failed ');
//Zwalniamy zasoby
EVP_PKEY_CTX_free(ctx);
- Rejestracja: dni
- Ostatnio: dni
- Postów: 6
Wysyłam fakturę oznaczoną jako offline - gdzie to potem można sprawdzić że tak była wysłana? - w UPO nic nie widzę
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7
Czy wiecie kiedy jest rozpoczęte naliczanie limitów API oraz kiedy jest reset limitów?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 36
grzegorz_so napisał(a):
PK_64 napisał(a):
Wygenerowałem własny certyfikat podpisu i niestety nie akceptuje mi tych podpisów , TEST-ksef .
Czego oczekują w tym podpisie ?openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -config openssl.cnf openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem -name "Certyfikat NIP"plik: openssl.cnf
[ req ] default_bits = 2048 default_keyfile = key.pem distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [ req_distinguished_name ] C = PL ST = Mazowieckie L = Warszawa O = MojaFirma OU = KSEF CN = moja.pl OID.2.5.4.97 = VATPL-9999999999 [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = moja-firma.pl
grzegorz_so napisał(a):
PK_64 napisał(a):
Wygenerowałem własny certyfikat podpisu i niestety nie akceptuje mi tych podpisów , TEST-ksef .
Czego oczekują w tym podpisie ?openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -config openssl.cnf openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem -name "Certyfikat NIP"plik: openssl.cnf
[ req ] default_bits = 2048 default_keyfile = key.pem distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [ req_distinguished_name ] C = PL ST = Mazowieckie L = Warszawa O = MojaFirma OU = KSEF CN = moja.pl OID.2.5.4.97 = VATPL-9999999999 [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = moja-firma.pl
grzegorz_so napisał(a):
PK_64 napisał(a):
Wygenerowałem własny certyfikat podpisu i niestety nie akceptuje mi tych podpisów , TEST-ksef .
Czego oczekują w tym podpisie ?openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -config openssl.cnf openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem -name "Certyfikat NIP"plik: openssl.cnf
[ req ] default_bits = 2048 default_keyfile = key.pem distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [ req_distinguished_name ] C = PL ST = Mazowieckie L = Warszawa O = MojaFirma OU = KSEF CN = moja.pl OID.2.5.4.97 = VATPL-9999999999 [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = moja-firma.pl
grzegorz_so napisał(a):
PK_64 napisał(a):
Wygenerowałem własny certyfikat podpisu i niestety nie akceptuje mi tych podpisów , TEST-ksef .
Czego oczekują w tym podpisie ?openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -config openssl.cnf openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem -name "Certyfikat NIP"plik: openssl.cnf
[ req ] default_bits = 2048 default_keyfile = key.pem distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [ req_distinguished_name ] C = PL ST = Mazowieckie L = Warszawa O = MojaFirma OU = KSEF CN = moja.pl OID.2.5.4.97 = VATPL-9999999999 [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = moja-firma.pl
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 36
Witam
Czy może mi ktoś podrzuć postać PEM do szafrywania tokena ( KSEF-TEST ) .
Nie jestem pewien swojej postaci.
-----BEGIN CERTIFICATE-----
MIIGWDCCBECgAwIBAgIQGmXqNRg5ye1JMZDOQ7HNCTANBgkqhkiG9w0BAQsFADBO
MQswCQYDVQQGEwJQTDEhMB8GA1UECgwYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu
MRwwGgYDVQQDDBNDZXJ0dW0gU01JTUUgUlNBIENBMB4XDTI1MDkyOTA2MDMxOVoX
DTI3MDkyOTA2MDMxOFowgb4xGTAXBgNVBGETEFZBVFBMLTUyNjAyNTAyNzQxCzAJ
BgNVBAYTAlBMMRQwEgYDVQQIDAttYXpvd2llY2tpZTERMA8GA1UEBwwIV2Fyc3ph
d2ExHzAdBgNVBAoMFk1pbmlzdGVyc3R3byBGaW5hbnPDs3cxHzAdBgNVBAMMFk1p
bmlzdGVyc3R3byBGaW5hbnPDs3cxKTAnBgkqhkiG9w0BCQEWGmtvbnN1bHRhY2pl
LmtzZWZAbWYuZ292LnBsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
xsyeiYiWB2+KFxEpQGoNQa6W8Pc4kWGl8V+sBMdW3Fqh0lhKiqKfpH5RWLDmZ30E
zkKJ5+IdaWYFoijhYxDBIBhINVQKlBZvEVd6CfPJUJypa94eRO5cc6IPNI35aMhf
KP/Kc4A/OiT2J4nyCz6BV98xOXCAlyDPD73XM6O2ormL6gUb673zvjOIakf39tAP
PVgWIDuX7GDZYGebN7LXoGvjPo5YDqC2KN51ofLbO+n74iei5OaGN94Ap52vI7uz
K2g/hQslOd0Avl2U1kwRnnF0yzwbDzRrHqPCHUYxVp5nHdo+jHe1CNoa6gt0m6pn
1StYcitSXKg2hTNjnes6TQIDAQABo4IBvzCCAbswDAYDVR0TAQH/BAIwADBBBgNV
HR8EOjA4MDagNKAyhjBodHRwOi8vY3NtaW1lcnNhY2EuY3JsLmNlcnR1bS5wbC9j
c21pbWVyc2FjYS5jcmwwgYMGCCsGAQUFBwEBBHcwdTAuBggrBgEFBQcwAYYiaHR0
cDovL2NzbWltZXJzYWNhLm9jc3AtY2VydHVtLmNvbTBDBggrBgEFBQcwAoY3aHR0
cDovL2NzbWltZXJzYWNhLnJlcG9zaXRvcnkuY2VydHVtLnBsL2NzbWltZXJzYWNh
LmNlcjAfBgNVHSMEGDAWgBRm+8MPvvS/4JzJq03eRxm9wMqmaDAdBgNVHQ4EFgQU
yDshAguoI0vLLGyA3aRgapjC4JEwTAYDVR0gBEUwQzAJBgdngQwBBQICMDYGCyqE
aAGG9ncCZAMBMCcwJQYIKwYBBQUHAgEWGWh0dHBzOi8vd3d3LmNlcnR1bS5wbC9D
UFMwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIE
8DAlBgNVHREEHjAcgRprb25zdWx0YWNqZS5rc2VmQG1mLmdvdi5wbDANBgkqhkiG
9w0BAQsFAAOCAgEAxX7ltOEd6+RbztKIgfmpfxsgmg3TXdmwQucy+tw6aqBNF7Xk
22PhVcWVgHKLq6xkaCTCfHbfpl6iGWsWkM5re2FltEF8QuLJbI7n6sC/T/pG+aIj
4TWgaiKO79dST4kda9GxMEuKxZDkC7OXg4optdxB8Kg3ctFPqzLdnH71lL8I+Wo+
KIwGe2h0tDMo39+UQC2XOd5l//1abiuO8ZMal+NEbz8WBeS4saH3qPcYmB8+4hV1
6kU4csNcyrR6PBKO7vkUXI0Lqh0ioEyFJyhxmx3ZPN4VUQFyQZ8l+GmbRFWBCHIh
B5dfWmGazE1gWQmVfpYsmuot7sSI2Uw1pBLPsniA9sBQfIB1tPGmdfTb/Cpkj1k/
owYN6G+08dTqG7v8O7R+skSgcem4O9Ftr+8RDTmhLrPwpx9RXf881bmm47aw1BTP
zzqDsFGmcNF2Hjb8OpJoJ3ZQQ98ep+yJUb0Ub9trfQNRVKfWltrTDl4Uc+vlWYeg
ocIhJdZ5ZwpeJIZMUHIUXarsuC/hyHZb5nDZSp/mf8a1Qxw9SeYb5TG6AAacGfnV
PK2YXA6mu4thhszUBxc6/WKEovN8LfYhZzppf9bgp1Gs7TJIzPUJbsAD2tZg2Vss
AsuJ17u10vTBEZnYwRZXsfMnMJJMC1wsrA5Xmp3C+oN84Z8l7viL5l1VxbU=
-----END CERTIFICATE-----'