python - Python,OpenSSL:自签名证书生成
问题描述
from cryptography.hazmat.primitives.asymmetric import rsa
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048,
backend=default_backend()
)
public_key = private_key.public_key()
我是密码学的初学者,我使用上面的 python 代码生成了一个私钥和一个公钥。我正在使用公钥来加密密码。
我的问题是,如何使用 openssl 工具使用自签名 X.509 证书对私钥进行密码保护?
解决方案
我认为您不需要使用自签名 X.509 证书加密私钥。私钥使用密码短语进行加密。
您可以使用下面的代码片段来实现相同的目的:
from cryptography.hazmat.primitives import serilization
key.private_bytes(encoding=serialization.Encoding.PEM,
format = serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm = serialization.BestAvailableEncryption(user_pass))
user_pass
是您希望用来加密私钥的密码。
推荐阅读
- ios - 表格视图单元格滚动问题
- python-rq - 仅当过滤器适用时才入队依赖
- qt - 在 QML 中使用 PlaceSearchModel 显示完整地址
- java - 按值同步,而不是按对象同步
- android - 如何在恢复/快速启动时重新启用禁用的 android 包?
- php - 如何使用 Symfony 和 Guzzle 通过 api 更新 woocommerce 产品
- sympy - python sympy lambdify 在函数内部不起作用
- javascript - 如何将 console.log 绑定到另一个函数调用,以便我可以在调用它的控制台中看到脚本的行号?
- javascript - 丢失变量javascript的值
- python - 什么是附加到列表字典的巧妙方法?