openssl命令在python中等效?

时间:2015-07-26 04:50:23

标签: linux python-3.x openssl private-key

我目前正在使用

获取私钥

openssl pkcs8 -in file.key -inform DER

对于某些cer文件

openssl x509 -text -inform DER -in file.cer

我可以处理从python调用终端命令的提取,但我更喜欢用python库来做。

我用 pyopenssl 查找了示例,但我找不到与我想要实现的内容非常相似的内容。

如何使用python库实现相同的结果?

2 个答案:

答案 0 :(得分:3)

看看cryptography.ioDER certificate loadingprivate 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