18

我是密码学证书的新手,我试图找出Android应用程序的“./META-INF”文件夹下“CERT.RSA”文件的组件。Android应用程序的“./META-INF/CERT.RSA”文件中包含什么?

据我了解,“CERT.RSA”用于验证同一目录下“CERT.SF”文件的签名。它应该包括证书元信息(主题,颁发者,系列号等),由开发者私钥签名的“CERT.SF”签名以及用于验证签名的公钥。

如何从“CERT.RSA”文件中导出上述组件?特别是,如何从“CERT.RSA”中检索公钥?

我试图使用以下命令来显示签名证书。当人们谈论签名证书时,它是(以下输出)公钥还是签名签名?

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

通过使用下面的命令,我能得到这个证书的元信息:

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

是否有其他工具/命令我可以用它来获得更全面的信息来自“CERT.RSA”?

非常感谢您的任何意见!

+0

可能的[从apk获取证书详细信息]的副本(http://stackoverflow.com/questions/11361452/getting-certificate-details-from-an-apk) –

回答

7

一旦你有cert.pem文件可以使用下面的命令将公钥:

openssl x509 -in cert.pem -noout -text

问候,

朱塞佩

10

如果你只是想获得部分公钥出CERT.RSA文件,你可以试试以下方法:

  1. 转换CERT.RSA到标准PEM文件:

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

  • 得到从PEM文件公钥:
  • openssl x509 -in cert.pem -pubkey -noout

    相关问题