OpenSSL是否支持扩展"主题目录属性"?



我正在使用Pyopenssl,这是OpenSSL的薄包装器,将扩展名的"主题目录属性"添加到Python程序中的证书中。已经尝试了扩展名称" subjectdirattrs"one_answers" objectilectoryAttributes",但发生了错误:

 "OpenSSL.crypto.Error: [('X509 V3 routines', 'DO_EXT_NCONF', 'unknown extension name'), ('X509 V3 routines', 'X509V3_EXT_nconf', 'error in extension')]".

作为Pyopenssl是OpenSSL的包装器,任何人都可以明确表明OpenSSL是否支持扩展名为"主题目录属性",如果OpenSSL支持它,则编程名称是什么?

另一个问题是,当我将Pyopenssl的扩展名"证书策略"添加时,错误如下。

"OpenSSL.crypto.Error: [('X509 V3 routines', 'DO_EXT_NCONF', 'no config database'), ('X509 V3 routines', 'X509V3_EXT_nconf', 'error in extension')]"

什么是配置数据库?它是指/USR/local/ssl/openssl.cnf吗?如何使用它将扩展名为"证书策略"添加到Pyopenssl的证书中? 非常感谢!

openssl是否支持扩展名为"主题目录属性"?

这取决于。OpenSSL可以使用拥有证书的证书,这意味着如果存在的话,就不会因"不支持"错误而失败。问题是,没有任何可用于用户程序解析的。您必须滚动自己的解析逻辑。

还可以看到如何解析主题目录属性扩展名?在OpenSSL用户邮件列表上。该线程为解析它们提供了一些建议。这是从线程中:

  • "有人必须编写ASN1解析代码。openssl中的各个地方都有示例;请参阅各种D2I_XXX和I2D_XXX函数。有宏/定义可使工作更容易。但是,但是可以更轻松。但是,它不是真正记录的。"

  • "看起来类型不是x509_name_entry,而是x509_attribute和扩展是一系列属性。我们没有直接等效的特定物键入IIRC,但不难添加一个只需遵循所做的事情enstry_names是一系列常规_name ...您可以添加自定义扩展名,也可以从中添加结构范围内容。"

最新更新