Mam certyfikat C.pfx, który został mi przekazany do pracy z OpenSSL. Certyfikat C.pfx ma następującą ścieżkę certyfikacji: C-> B-> AOpenSSL: nie można uzyskać certyfikatu lokalnego wystawcy
Przekonwertowałem C.pfx do PEM za pomocą następującego polecenia: openssl pkcs12 -w C.pfx -out C.pem -nodes - - WORKS OK
Otworzyłem certyfikat C.pem w edytorze plików i widzę, że ma on części PRYWATNE klucze RSA i CERTYFIKAT.
Widzę także certyfikaty A i B zainstalowane w sklepie Trusted Roor Certification Athorities w systemie Windows XP.
Celem jest do podpisania, szyfrowania, odszyfrować i zweryfikować plik testowy przy użyciu OpenSSL dla Windows w wersji 1.0.1c (jest to obecnie najnowsza wersja)
używam następujące polecenia:
--to SIGN--
openssl smime -sign -signer C.pem -in test.txt -out test.tmp -- WORKS OK
--to ENCRYPT--
openssl smime -encrypt -in test.tmp -out test.enc C.pem -- WORKS OK
--to odszyfrować -
openssl smime -decrypt -in test.enc -recip C.pem -inkey C.pem -out test1.tmp -- WORKS OK
--to VERIFY--
openssl smime -verify -in test1.tmp -CAfile "C.pem" -out notes1.txt -- FAILS
użyłem konsoli MMC eksportować B i certyfikaty CER pliki, a następnie przekształca je na PEM przy użyciu OpenSSL. Potem próbowałem następujące 2:
openssl smime -verify -in test1.tmp -CAfile "A.pem" -out notes1.txt -- FAILS
openssl smime -verify -in test1.tmp -CAfile "B.pem" -out notes1.txt -- FAILS
Wszystkie 3 próby w celu weryfikacji nie powiodło się z powodu następującego błędu:
Verification failure
3672:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:.\crypt
o\pkcs7\pk7_smime.c:342:Verify error:unable to get local issuer certificate
Co robię źle?
+1 dla 'openssl smime -verify -noverify' właśnie to, czego potrzebowałem! – PassKit
@PassKit Chociaż polecenie wydaje się najbardziej wewnętrznie sprzeczne. –