操作系统:Ubuntu20
# sudo apt update && sudo apt install openssl
openssl pkcs12 -in 1.pfx -out my2.key # 导出私钥
openssl pkcs8 -in my2.key -topk8 -out my2.pk8 # 转pkcs8格式
参考:(亲测可用)ssl证书生成与转换(pfx, pem, key, crt)_wzj_whut的专栏-CSDN博客_crt转pfx
附:Python使用私钥进行RSA加密
from base64 import b64encode
from pathlib import Path
from typing import Optional, Union
# pip install pycryptodomex
from Cryptodome.Hash import SHA1
from Cryptodome.PublicKey import RSA
from Cryptodome.Signature import PKCS1_v1_5
def make_sign(raw: str, pri: Union[str, Path], passphrase: Optional[str] = None) -> str:
"""签名
Example::
>>> make_sign('raw string', 'my2.pk8')
'JjIbDSOGpuRc...dgFoScK+nh/g=='
"""
if isinstance(pri, Path) or Path(pri).is_file():
pri = Path(pri).read_text()
prikey = RSA.importKey(pri, passphrase=passphrase)
bb = PKCS1_v1_5.new(prikey).sign(SHA1.new(raw.encode()))
return b64encode(bb).decode()