从cert文件中使用openssl读取公钥和私钥和证书 使用语言实现
时间: 2024-10-15 16:17:03 浏览: 53
openssl命令生成server 证书/私钥
在使用OpenSSL处理证书、公钥和私钥时,通常涉及到命令行操作或编程语言库的集成。以下是使用Python语言通过`ssl`和`subprocess`模块从`.cer`(证书)文件中读取公钥和私钥的一个示例:
```python
import ssl
import subprocess
def parse_cert(cert_path):
# 解析证书内容
with open(cert_path, 'rb') as f:
cert_data = f.read()
# 使用openssl命令行工具提取公钥和私钥
cmd_public_key = "openssl x509 -in {} -pubkey".format(cert_path)
public_key_output = subprocess.check_output(cmd_public_key, shell=True).decode('utf-8')
cmd_private_key = "openssl rsa -in {} -text".format(cert_path) # 私钥一般不会明文存储在.cer文件里
private_key_output = subprocess.check_output(cmd_private_key, shell=True).decode('utf-8')
return public_key_output, private_key_output
# 调用函数并打印结果
public_key, private_key = parse_cert('path_to_your_certificate.crt')
print("Public Key:\n", public_key)
print("\nPrivate Key (Not shown because it's usually encrypted in the certificate file):\n", private_key)
阅读全文