我正在用.APK从安卓雄卫文件中提取功能,现在我需要从它的签名文件(通常是CERT.RSA)中提取序列号(*)。我已经找到了asn1crypto,但我不太明白如何在pkcs7中使用它。那么,是否有适合用于此目的的python包?
(*):

发布于 2017-08-20 19:30:36
注释:我使用pkcs7作为内存对象,而不是文件
PyOpenSSL不从文件中读取!
OpenSSL.crypto.load_pkcs7_data(类型,缓冲区) 从类型类型编码的字符串缓冲区加载pkcs7数据。 类型必须是FILETYPE_PEM或FILETYPE_ASN1)。
fromSO Answer 45111623import get_certificates
from OpenSSL import crypto
pkcs7 = crypto.load_pkcs7_data(crypto.FILETYPE_ASN1,
open('certs/signature.der', 'rb').read())
certs = get_certificates(pkcs7)
for cert in certs:
print('Subject:{}, Serial Nnumber:{}'.
format(cert.get_subject(), cert.get_serial_number()))
>>>Subject:<X509Name object '/CN=key1'>, Serial Nnumber:13315126025841024674
>>>Subject:<X509Name object '/CN=key2'>, Serial Nnumber:14142490995367396705问题:用于解析pkcs7的package?
您可以使用openssl将PKCS#7转换为PEM,PyOpenSSL是可读的。
openssl pkcs7 -print_certs -in sample.p7b -out sample.cer阅读相关的答案:pyOpenSSL的PKCS7
https://stackoverflow.com/questions/45782506
复制相似问题