首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X509可用的asn1tools ASN.1文件

X509可用的asn1tools ASN.1文件
EN

Stack Overflow用户
提问于 2022-06-01 16:15:57
回答 1查看 244关注 0票数 0

我想打印证书中的所有x509信息。以下是我们所做的工作:

  • 用于ssl的官方python文档之后,我为IPv4 4/6双堆栈创建了一个套接字客户机。并从www.python.org添加了证书包。证书链被下载并保存到单独的文件中,使用关于本地发行者错误消息的另一个原因是的指令,这个客户端可以工作。我将代码"context.load_verify_locations('path/to/cabundle.pem')“添加到示例中。因此,证书是正确的和有效的。
  • 根据来自所以用于打印x509的答案,代码片段是:"import asn1tools; foo = asn1tools.compile_files("x509.asn"); output = foo.decode("Certificate", cert)“。这需要一个asn文件。
  • 关于X.509的ASN.1的另一个例子建议从rfc或“ITU-TX.509 (08/1997)建议”下载一个asn。我下载了zip并提取了三个文件:AlgorithmObjectIdentifiers.asnAuthenticationFramework.asnCertificateExtensions.asn。因为第一个文件在其他文件中导入元素,所以我想它是顶级文件,所以我将它交给代码。 foo = asn1tools.compile_files("AlgorithmObjectIdentifiers.asn") output =foo.decode(“证书",证书)打印(”证书输出:“,输出)

它说出一个错误:

代码语言:javascript
复制
    File ".../test-print-ssl.py", line 47, in cert_print_asn1
        output = foo.decode("Certificate", cert)
      File "...\lib\site-packages\asn1tools\compiler.py", line 161, in decode
        "Type '{}' not found in types dictionary.".format(name))
    asn1tools.errors.DecodeError: Type 'Certificate' not found in types dictionary.

几个问题:

  • 在哪里可以找到在此代码中使用的有效asn文件?
  • 是否有其他方式使用下载的asn文件?因为这是三个文件,我需要合并它们吗?你是怎么把它们结合起来的?
  • 如何进一步调试此问题?

请注意,我已经使用命令openssl x509 -in website.com.pem -text从文件中打印了相同的证书。这是可行的。我想我可以使用os.system()来实现同样的目标。我想有一个在python中解码和打印的解决方案。

我见过质疑编译失败,但在我的例子中,它正在解码失败,这是不同的。

EN

回答 1

Stack Overflow用户

发布于 2022-06-02 09:38:20

你应该分享你的文件以便有更具体的答案.

您只需创建一个文件,将文件中的类型连接起来。

与其一蹴而就,不如将所需的类型放入其中,并添加所缺少的内容。

您的asn1规范的内容应该类似于

代码语言:javascript
复制
X509 DEFINITIONS ::= 
BEGIN

Type1

Type2

END

您可以在https://asn1.io/asn1playground/上验证您的文件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72465075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档