digital-signature - sign view android
¿Qué contiene el archivo “./META-INF/CERT.RSA” para una aplicación de Android? (4)
Soy nuevo en el certificado de criptografía y estoy tratando de averiguar los componentes del archivo "CERT.RSA" en la carpeta "./META-INF" para una aplicación de Android.
A mi entender, "CERT.RSA" se utiliza para verificar la firma del archivo "CERT.SF" en el mismo directorio. Debe consistir en la meta información del certificado (asunto, emisor, número de serie, etc.), la firma de "CERT.SF" firmada por la clave privada del desarrollador y la clave pública utilizada para verificar la firma.
¿Cómo puedo obtener los componentes anteriores del archivo "CERT.RSA"? Especialmente, ¿cómo puedo recuperar la clave pública de "CERT.RSA"?
Intenté usar los siguientes comandos para revelar el certificado de firma. Cuando las personas hablan de firmar un certificado, ¿son (las siguientes salidas) las claves públicas o la firma firmada?
>> 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-----
Al usar el siguiente comando, puedo obtener la meta información de este certificado:
>> 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
¿Hay otras herramientas / comandos que pueda usar para obtener información más completa de "CERT.RSA"?
Muchas gracias por cualquier entrada!
- Convierta CERT.RSA en un archivo pem estándar:
openssl pkcs7 -en CERT.RSA -en forma DER -print_certs -out cert.pem
- obtener clave pública del archivo pem:
openssl x509 -en cert.pem -pubkey -noout
- guardar la clave pública en cert_pub.pem y el archivo sign_info con información firmada
openssl x509 -noout -text -in cert.pem
- verificar el hash
openssl rsautl -verify -inkey cert_pub.pem -pubin -in sign_info -hexdump -raw
openssl dgst -sha256 CERT.RSA
pero, oh no, no es partido !!!
Esto debería solucionar tu problema
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs
Si solo desea obtener la parte de la clave pública del archivo CERT.RSA, puede probar el siguiente método:
- Convierta CERT.RSA en un archivo pem estándar:
openssl pkcs7 -in CERT.RSA -inform DER -print_certs -out cert.pem
- obtener clave pública del archivo pem:
openssl x509 -in cert.pem -pubkey -noout
una vez que tenga el archivo cert.pem, puede obtener la clave pública utilizando el siguiente comando:
openssl x509 -in cert.pem -noout -text
Saludos,
Giuseppe