Je suis nouveau dans le certificat de cryptographie et j'essaie de comprendre les composants du fichier "CERT.RSA" sous le dossier "./META-INF" pour une application Android.
À mon sens, "CERT.RSA" est utilisé pour vérifier la signature du fichier "CERT.SF" dans le même répertoire. Il doit contenir les méta-informations du certificat (sujet, émetteur, numéro de série, etc.), la signature de "CERT.SF" signée par la clé privée du développeur et la clé publique utilisée pour vérifier la signature.
Comment puis-je dériver les composants ci-dessus du fichier "CERT.RSA"? Surtout, comment puis-je récupérer la clé publique du "CERT.RSA"?
J'ai essayé d'utiliser les commandes suivantes pour révéler le certificat de signature. Lorsque les gens parlent de signature de certificat, s'agit-il (la sortie suivante) de clés publiques ou de signature signée?
>> openssl pkcs7 -inform DER -print_certs -out cert.pem -in CERT.RSA
>> cat cert.pem
subject=/C=SE/ST=Kista/L=Kista/O=Javsym/OU=Mobile Visuals/CN=Eyvind Almqvist
issuer=/C=SE/ST=Kista/L=Kista/O=Javsym/OU=Mobile Visuals/CN=Eyvind Almqvist
-----BEGIN CERTIFICATE-----
MIICWzCCAcSgAwIBAgIETVPFgjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJT
RTEOMAwGA1UECBMFS2lzdGExDjAMBgNVBAcTBUtpc3RhMQ8wDQYDVQQKEwZKYXZz
eW0xFzAVBgNVBAsTDk1vYmlsZSBWaXN1YWxzMRgwFgYDVQQDEw9FeXZpbmQgQWxt
cXZpc3QwIBcNMTEwMjEwMTEwMTIyWhgPMjA2MTAxMjgxMTAxMjJaMHExCzAJBgNV
BAYTAlNFMQ4wDAYDVQQIEwVLaXN0YTEOMAwGA1UEBxMFS2lzdGExDzANBgNVBAoT
BkphdnN5bTEXMBUGA1UECxMOTW9iaWxlIFZpc3VhbHMxGDAWBgNVBAMTD0V5dmlu
ZCBBbG1xdmlzdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjwLlwflQ2zoC
1EeCkICSqYTSkdv6Xj0YCqoQsuLJw0pwDbz5qRos61Ub0ZxWCa4TfXu1NJmuD4j+
LwQYvAR6JO985y4zjH1Ee5qZmHDC5yoSRko6P8B4KfmBm8E8CryhUjN7vNLUfG2o
XrmXK+g5KKTx3wzWlb4+AdAS7/NlDVkCAwEAATANBgkqhkiG9w0BAQUFAAOBgQAS
CxdfvR/LHPlULkCsoGw9/Q2ZhsTlPr7fZw32sef9vnz1hqd6iMDsLC2c34yRVJfb
t6dZCVO9/gWMURIZ7NmT36uBFAUB+XkGK+5/ot3YEJicEwmk/Nvj1Tzo3PjBX3ZD
lLBpEPgc3IUOhgMyzDR+ytgFlH0MkDps6FApunUpiQ==
-----END CERTIFICATE-----
En utilisant la commande suivante, je pourrais obtenir les informations méta de ce certificat:
>> keytool -printcert -file CERT.RSA
Owner: CN=Eyvind Almqvist, OU=Mobile Visuals, O=Javsym, L=Kista, ST=Kista, C=SE
Issuer: CN=Eyvind Almqvist, OU=Mobile Visuals, O=Javsym, L=Kista, ST=Kista, C=SE
Serial number: 4d53c582
Valid from: Thu Feb 10 06:01:22 EST 2011 until: Fri Jan 28 06:01:22 EST 2061
Certificate fingerprints:
MD5: 58:94:63:63:C1:ED:4C:02:CE:90:CE:64:DA:D7:4A:E4
SHA1: 17:5C:44:E3:A6:1A:F2:4F:A5:78:6E:C7:F0:42:4C:AD:E6:F5:CA:DF
Signature algorithm name: SHA1withRSA Version: 3
Existe-t-il d'autres outils/commandes que je peux utiliser pour obtenir des informations plus complètes de "CERT.RSA"?
Merci beaucoup pour toutes les entrées!
une fois que vous avez le fichier cert.pem, vous pouvez obtenir la clé publique en utilisant la commande suivante:
openssl x509 -in cert.pem -noout -text
Cordialement,
Giuseppe
Si vous souhaitez uniquement extraire la partie de la clé publique du fichier CERT.RSA, vous pouvez essayer la méthode suivante:
openssl pkcs7 -in CERT.RSA -inform DER -print_certs -out cert.pem
openssl x509 -in cert.pem -pubkey -noout
openssl pkcs7 -in CERT.RSA -inform DER -print_certs -out cert.pem
openssl x509 -in cert.pem -pubkey -noout
openssl x509 -noout -text -in cert.pem
openssl rsautl -verify -inkey cert_pub.pem -pubin -in sign_info -hexdump -raw
openssl dgst -sha256 CERT.RSA
mais, oh non, ça ne correspond pas !!!
cela devrait résoudre votre problème
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs