[英]How to convert private key that is in hex format to private key in pem and/or der format?
[英]Convert .key formatted private key into .pem format with python3
我正在嘗試使用 python3 將 .key 格式的私鑰轉換為 .pem 格式的密鑰。 在使用 python3 之前,我可以通過簡單地運行 openssl 命令將私鑰轉換為 .pem 格式:
openssl rsa -in <private_key_file> -outform PEM -out <new_file>
我想知道人們如何使用 python3 將其私鑰轉換為 .pem 或其他格式。 到目前為止,我已經嘗試運行subprocess.run()
命令來從 python 執行 openssl 命令。 很高興知道是否有 python 轉換為 .pem 格式的方式。
我還嘗試使用 pycryptodrome 庫https://pycryptodome.readthedocs.io/en/latest/index.html按照這個線程pyOpenSSL 創建一個 pem 文件,該文件以 pem 格式創建但沒有成功。
def convert_key_to_pem_format(key_file):
print("Converting to pem/rsa format")
pv_key_string = key_file.exportKey()
with open ("private.pem", "w") as prv_file:
print("{}".format(pv_key_string.decode()), file=prv_file)
這是我的代碼。 任何幫助,將不勝感激。
在 Cryptodome 庫中,您可以使用import_key
方法,該方法支持 RSA私鑰的以下格式:
RSAPrivateKey
DER SEQUENCE(二進制或 PEM 編碼)PrivateKeyInfo
或EncryptedPrivateKeyInfo
DER SEQUENCE(二進制或 PEM 編碼)以下是您可以如何使用它:
from Cryptodome.PublicKey import RSA
key = RSA.import_key(open('private.key', "rb").read(), passphrase="(passphrase in case you have one)")
pv_key_string = key.exportKey()
with open ("private.pem", "w") as prv_file:
print("{}".format(pv_key_string.decode()), file=prv_file)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.