python - 带有 CA、-ext 和 -config 选项的 Python Cryptogrophy 模块
问题描述
我需要在 python 中重新创建这个 openssl 命令行,并被要求使用密码学模块。它使用扩展文件和配置文件以及使用 CA(不是 X509):
OPENSSL ca -extfile my_extfile.ext -config my_openssl.cnf -startdate $start_date -days $duration -md sha256 -cert $signing_ca -key $pk -in $csr -out $cert -batch
我实际上还没有找到任何关于将 CA 与 pyca/cryptography (仅 X509)一起使用的文档,或者就此而言,也没有找到任何使用密码术指定 ext 和 config 文件的方法。
我查看了 pyOpenSSL,上面写着“如果您将 pyOpenSSL 用于除了建立 TLS 连接之外的任何事情,您应该转向加密并放弃您的 pyOpenSSL 依赖项”。这意味着我应该能够使用密码术运行我的命令,但我很难弄清楚如何去做,所以欢迎任何帮助。
谢谢,马特。
解决方案
cryptography
与 OpenSSL 的 CLI 命令没有不同的前端。它是它自己的 API,能够使用 OpenSSL(库,而不是 CLI openssl
)来执行加密操作。cryptography
X.509 文档包含足以创建 X.509 证书、CRL、CSR 甚至 OCSP 请求/响应对象的信息和示例,但开发人员需要将 OpenSSL 配置文件转换为这些 API 提供的不同编程环境。
您的问题强烈暗示了对这些库是什么以及它们如何工作的基本误解。您可能需要回到提出此请求的人那里,并与他们一起确定您当前的基础架构的功能以及如何使用cryptography
或任何其他语言/库最有效地复制它。
推荐阅读
- php - Wordpress 用 apache 执行 ThreadSafe PHP 无法连接 mysql 但 IIS 和 NTS PHP 没有问题
- amazon-web-services - DynamoDB 创建另一个表来查询表中的列表属性?
- javascript - 不保留 Quill JS 空格
- python - kivy 应用程序在我的手机中按下按钮时崩溃
- css - 如何从字体文件生成 CSS unicode-range
- mysql - 在mysql中选择每个quiz_id的最新日期重复多次的行
- android - 将原始文件夹中的数据库复制到android应用程序中的现有数据库
- python - tkinter.TclError:图像“pyimage45”不存在
- node.js - 如何使用我自己的自定义身份验证服务使用团队机器人对用户进行身份验证?
- python - (TF-IDF)计算余弦相似度后如何返回五篇相关文章