python 中等效的 openssl 命令?
openssl commands equivalent in python?
我目前正在使用
获取私钥
openssl pkcs8 -in file.key -inform DER
还有一些cer文件
openssl x509 -text -inform DER -in file.cer
我可以从 python 调用终端上的命令来处理提取,但我更愿意使用 python 库来完成。
我用 pyopenssl 寻找示例,但没有找到与我想要实现的真正相似的东西。
如何使用 python 库实现相同的结果?
看看 cryptography.io. There's DER certificate loading and private key loading 支持 PKCS#8 格式。
因为使用 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
我目前正在使用
获取私钥openssl pkcs8 -in file.key -inform DER
还有一些cer文件
openssl x509 -text -inform DER -in file.cer
我可以从 python 调用终端上的命令来处理提取,但我更愿意使用 python 库来完成。
我用 pyopenssl 寻找示例,但没有找到与我想要实现的真正相似的东西。
如何使用 python 库实现相同的结果?
看看 cryptography.io. There's DER certificate loading and private key loading 支持 PKCS#8 格式。
因为使用 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