我目前正在使用
获取私钥 openssl pkcs8 -in file.key -inform DER
对于某些cer文件
openssl x509 -text -inform DER -in file.cer
我可以处理从python调用终端命令的提取,但我更喜欢用python库来做。
我用 pyopenssl 查找了示例,但我找不到与我想要实现的内容非常相似的内容。
如何使用python库实现相同的结果?
答案 0 :(得分:3)
看看cryptography.io。 DER certificate loading和private key loading支持PKCS#8格式。
答案 1 :(得分:0)
由于使用python加密技术并不适合我,我寻找替代包。
我发现使用chilkat
正是我所需要的。它有pkcs8支持,而且速度非常快。
我的代码如下
def get_private_key(filepath, password):
pkey = chilkat.CkPrivateKey()
pkey.LoadPkcs8EncryptedFile(filepath, password)
return pkey.getPkcs8Pem()
def get_certificate_and_serial(filepath):
cert = chilkat.CkCert()
cert.LoadFromFile(filepath)
serial = unhexlify(cert.serialNumber())
return cert.exportCertPem(), serial.decode('utf-8')
可以找到Chilkat here