digital-signature digital-certificate android android-applicationinfo

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!


  1. Convierta CERT.RSA en un archivo pem estándar:

openssl pkcs7 -en CERT.RSA -en forma DER -print_certs -out cert.pem

  1. obtener clave pública del archivo pem:

openssl x509 -en cert.pem -pubkey -noout

  1. 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

  1. 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:

  1. Convierta CERT.RSA en un archivo pem estándar:

openssl pkcs7 -in CERT.RSA -inform DER -print_certs -out cert.pem

  1. 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