一、Android证书的格式
Android签名中证书的格式采用X.509标准的版本三,不过省略了一些内容。
X.509证书格式如下图所示:
二、证书的格式示例
从Chrome浏览器中导出一个证书,打开之后的样子如下图所示:
说明:由上图可以看出,在证书中,开发者的公钥是显式存在的。
三、对CERT.RSA进行详细解析
重要说明:编写Java程序和编写Android应用App解析Apk的CERT.RSA文件,得到的结果是不一样的。按道理,都是解析的同一个文件,为什么结果不一样呢?经过我们分析,发现不一样的地方是开发者公钥,但是这是由于二者的显示格式不同导致的。App解析得到的文件时十六进制显示的,而Java解析得到的结果却是十进制显示的。我们利用Java的BigInteger编写程序,将十六进制转换为十进制,验证了我们的猜想。
明确了上面的问题之后,对CERT.RSA 文件进行详细解析,得到下图:
说明:
(1)首先,我们的通常所说的证书的签名,是生成证书的时候CA对整个证书的所有域签名的得到的,而不是对某一部分签名得到的。整个签名就是上图中部分一的最下面的一段十六进制的内容;
(2)编程中的获取到的内容实质上是就是上图中的部分二,这是一个证书的所有内容;
(3)部分一种的公钥等信息就是从部分二中得来的,可以直接在部分二中找到。
(4)可以猜测,部分一中的其他信息也是从部分二中得来,只不过编码方式不一样,所以显示不同而已。
相关推荐
android apk文件里MANIFEST.MF、CERT.SF、CERT.RSA三者的关系(csdn)————程序
二、Android签名机制--APK签名过程 1. APK签名概述 2. APK签名相关的文件 3. 签名的过程(MANIFEST.MF) 4. 签名的过程(CERT.SF) 5. 签名的过程(CERT.RSA) 6. 签名结束 三、Android签名机制--APK签名验证过程 1...
client-cert.pemclient-cert.pemclient-cert.pemclient-cert.pemclient-cert.pem
测试PHPini cacert.pem cacert.pem cacert.pem cacert.pem
cacert.pem文件
腾讯云短信cacert.pem 本地php发送需要引入这个文件 腾讯云短信cacert.pem 本地php发送需要引入这个文件
在wamp环境里,当你配置好了“extension=php_curl.dll”事项,还遇到“cURL error 60: SSL certificate: unable to get local ...并在php.ini里配置:curl.cainfo = "E:/wamp/bin/php/php5.5.12/extras/ssl/cacert.pem"
证书文件,cert.txt包含了制作的过程,下载下来解压就可以直接使用。证书文件,cert.txt包含了制作的过程,下载下来解压就可以直接使用。证书文件,cert.txt包含了制作的过程,下载下来解压就可以直接使用。证书文件...
CA证书:解决php curl: (60) SSL certificate problem: unable to get local issuer certificate等问题
composer ssl cacert.pem证书
usercard_cert.zip
mitmproxy-ca-cert.pem
微信开发使用的cert,里面微信支付API共四份(证书pkcs12格式、证书pem格式、证书密钥pem格式、CA证书),为接口中强制要求时需携带的证书文件。 证书属于敏感信息,请妥善保管不要泄露和被他人复制。 不同开发语言下...
把自己的apk拷贝到c:下,然后用压缩工具打开,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。 第三步: 打开cmd窗口,退到c:根目录下: (1)输入java -jar signapk.jar platform.x509.pem platform.pk8 c:\...