Python:用pyOpenSSL.crypto读取pkcs12证书

我有一个有效的证书由西班牙当局(FNMT)颁发,我想玩它来了解更多.
文件扩展名为.p12

我想阅读其中的信息(姓氏和名字),并检查证书是否有效.可以用pyOpenSSL做到吗?我想我必须在OpenSSL中使用加密模块.
任何帮助或有用的链接?尝试阅读这里:http://packages.python.org/pyOpenSSL/openssl-crypto.html但没有太多的信息:-(

最佳答案
这是相当直接的使用.这没有测试,但应该工作:

# load OpenSSL.crypto
from OpenSSL import crypto

# open it, using password. Supply/read your own from stdin.
p12 = crypto.load_pkcs12(open("/path/to/cert.p12", 'rb').read(), passwd)

# get various properties of said file.
# note these are PyOpenSSL objects, not strings although you
# can convert them to PEM-encoded strings.
p12.get_certificate()     # (signed) certificate object
p12.get_privatekey()      # private key.
p12.get_ca_certificates() # ca chain.

有关更多的例子,请查看unit test code of pyopenssl.几乎所有的方式,你可能想要使用库是在那里

参见here或没有广告here.

转载注明原文:Python:用pyOpenSSL.crypto读取pkcs12证书 - 代码日志