#!/bin/bash
hash=`openssl x509 -in $1 -inform DER -noout -hash`
echo "Izvozim $1 kao $hash.0"
openssl x509 -in $1 -inform DER -out $hash.0 -outform PEM
hash=`openssl x509 -in $1 -inform DER -noout -hash`
echo "Izvozim $1 kao $hash.0"
openssl x509 -in $1 -inform DER -out $hash.0 -outform PEM
Dobio sam efd6650d.0 (Gradjani) i fc5fe32d.0 (Root). Sada pokušam da validiram ovaj drugi:
$ openssl verify -CApath . efd6650d.0
error 7 at 0 depth lookup:certificate signature failure
16206:error:04077068:rsa routines:RSA_verify:bad signature:rsa_sign.c:255:
16206:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:a_verify.c:173:
error 7 at 0 depth lookup:certificate signature failure
16206:error:04077068:rsa routines:RSA_verify:bad signature:rsa_sign.c:255:
16206:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:a_verify.c:173:
Ako izvezem svoj lični sertifikat sa lične karte kao qualified.cer, konvertujem ga u PEM i validiram:
$ openssl verify -CApath . qualified.pem
qualified.pem: /CN=MUPCA Gradjani/O=MUP Republike Srbije/L=Beograd/C=Republika Srbija (RS)
error 7 at 1 depth lookup:certificate signature failure
16258:error:04077068:rsa routines:RSA_verify:bad signature:rsa_sign.c:255:
16258:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:a_verify.c:173:
qualified.pem: /CN=MUPCA Gradjani/O=MUP Republike Srbije/L=Beograd/C=Republika Srbija (RS)
error 7 at 1 depth lookup:certificate signature failure
16258:error:04077068:rsa routines:RSA_verify:bad signature:rsa_sign.c:255:
16258:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:a_verify.c:173:
Dakle on je preko MUPCAGradjani OK (nivo 0), ali openssl kaže da je potpis pogrešan za MUPCAGradjani preko MUPCARoot (nivo 1).
Kada uporedim otisak za MUPCARoot ili MUPCAGradjani, dobijam neke različite vrednosti, zar to ne bi trebalo da bude isto?
$ openssl x509 -noout -inform DER -in MUPCARoot.crt -fingerprint
SHA1 Fingerprint=6B:91:31:15:18:02:BB:98:AF:F0:87:B0:50:57:1C:62:B4:39:5D:AF
$ openssl x509 -noout -in fc5fe32d.0 -fingerprint
SHA1 Fingerprint=3B:41:B1:C7:66:FE:34:C1:17:24:B8:5D:45:42:7B:AC:48:5B:9E:FD
SHA1 Fingerprint=6B:91:31:15:18:02:BB:98:AF:F0:87:B0:50:57:1C:62:B4:39:5D:AF
$ openssl x509 -noout -in fc5fe32d.0 -fingerprint
SHA1 Fingerprint=3B:41:B1:C7:66:FE:34:C1:17:24:B8:5D:45:42:7B:AC:48:5B:9E:FD
dok na sajtu piše: Hash vrednost SHA1 4f a8 d4 90 4a 9c cc 0b 8d 43 69 53 14 ee 3e 7f b5 a4 72 f2
Pregled pomoću openssl x509 -nameopt multiline,utf8,-esc_msb -noout -text -in $1 daje razumne podatke za sva tri sertifikata nakon konverzije u PEM format, ako to nešto znači.
U Windowsu nakon što sam dodao ova dva sertifikata kroz IE, dvoklikom kada otvorim qualified.cer prikazuje ga kao validan i daje sha1 otisak (tamo je to u polju Thumbprint) za ova dva CA sertifikata baš kao što je i napisano na sajtu.
Zna li neko gde grešim u korišćenju openssl?
PS - Razmišljao sam između ovog, Linux/Unix serveri i servisi, Zaštita i foruma Kriptografija i enkripcija, na kraju zaključio da će ovde najpre neko znati odgovor na pitanje.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
prezentacije, legalno bez troškova licenciranja