问题标签 [pyasn1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
186 浏览

python - pyasn1 和设置组件时奇怪的不匹配

我在使用 pyasn1 设置组件时遇到了一个奇怪的问题。我构造并清空证书并在其中放入要签名的证书:

现在我想设置一个版本,该版本因实际版本对象而失败,但通过自动创建类型来工作:

鉴于这两个比较相等,这很奇怪:

那么为什么第一种方法不起作用呢?

0 投票
1 回答
1082 浏览

python - 使用 pyasn1 解析 X509 扩展

我有一个扩展名,描述如下:

所以基于id,它是一个BasicConstraints扩展。但是,如果我尝试将值解析为扩展本身,则会出现错误:

该字符串解码为空序列,因此它可以合法地是BasicConstraints-name length可选/缺失并且ca是默认值,因此未在 DER 中编码。

那么我在这里错过了什么?我如何解码这个BasicConstraints类的扩展?

PS。这个问题似乎类似于邮件列表中的问题,但我使用的是 0.1.8,它应该已经包含了提到的修复

0 投票
1 回答
186 浏览

python - 在 pyasn1 中添加标记项目的更简单方法

我发现在 pyasn1 中添加显式标记项目的最佳方法是...显式标记它们。但这看起来过于冗长:

有什么方法可以生成一个空值,该值将适合一个地方,比如extensions不指定标签?

0 投票
1 回答
1554 浏览

python - 使用 ASN.1 解码,其中基板包含一些不透明数据

我想pyasn1用来解码一些数据,其中一部分是不透明的。也就是说,包含在 ASN.1 定义的结构中的部分数据可能是也可能不是 ASN.1 可解码的,我需要解析前导码以了解如何对其进行解码。

根据我对“解码未标记类型”的pyasn1 编解码器文档的理解,我应该能够使用该pyasn.univ.Any类型来处理这种情况。

这是一些示例代码来说明我遇到的问题。

编码示例符合我的预期。但是,该程序在解码器内部失败,并带有以下回溯。

我相信发生的事情是解码器正在尝试处理我试图识别为univ.Any失败的数据部分——因为它不是有效的编码——而不是将它作为封装的一些二进制数据返回给我univ.Any正如我所期望的那样在一个对象中。

如何使用 解析这种形式的数据pyasn1

顺便说一句,我尝试解码的实际数据是使用 GSSAPI 机制的 SASL 令牌,如RFC 4121: KRB5 GSSAPI 机制 v2的第 4.1 节中定义的那样,为了方便起见,我在此摘录。

编辑 1:附加示例数据

我相信这是由 cyrus-sasl 和 heimdal 序列化的示例 GSSAPI-Token(经过轻微清理)。

0 投票
1 回答
481 浏览

python - 在 PyASN1 中创建带有扩展名的 X509 证书时出错

我正在尝试创建一个 X509v3 证书并在 DER 中对其进行编码并将其保存到一个文件中。我在 Ubuntu 14.04 上使用 PyASN1 0.1.7 和 Python 2.7.6。

代码可以总结为:

当我尝试cert使用 DER 编码器对对象进行编码时,出现此错误:

任何有关代码问题部分的建议将不胜感激。

PS,如果有人有关于如何使用 PyASN1 创建带有扩展名的 X509v3 证书的工作示例代码,我很乐意看到它。

0 投票
1 回答
227 浏览

python - 创建包含更新版本 PyASN1 扩展的 X509 证书时文件无效

我有一个 python 脚本,用于使用 PyASN1 和pyasn1_modules模块生成带有证书扩展的 X509 证书。但是现在我已经将这些模块更新到 pypi 的最新版本(以前它们来自 Ubuntu 14.04 repos),生成的证书不再有效(根据openssl x509命令和dumpasn1显示先前生成的证书的更改的命令,特别是扩展值是不再包装在OctetString容器中)。

这是有问题的代码:

我尝试将最后一行更改为:

这从 PyASN1 引发了这个错误:

最近版本中可能导致此问题的更改是什么,以及如何更正我的代码以使其与这两个模块的新版本兼容(并最好使其与以前的版本兼容)。

新版本:pyasn1 0.1.9 和 pyasn1_modules 0.0.8

Ubuntu 存储库版本:pyasn1 0.1.7 和 pyasn1_modules 0.0.3

Python 2.7 版

0 投票
1 回答
142 浏览

encoding - 我对 ASN1 der 的解释哪里错了?

这是我的结构的样子:

我的编码如下所示:

但是,当我使用 openssl 解码时,我看不到预期的输出。看起来像

这不是我期望看到的。(看看我想要的结构)

我不确定我错过了什么。任何帮助将非常感激。

0 投票
2 回答
6537 浏览

python - 在 mac 上安装 scrapy - 找不到 pyasn1 发行版

我已经在我的mac(OS El Capital,10.11.4)上安装了scrapy,scrapy和我的python版本(2.7.11)之间似乎没有任何兼容性问题但是当我尝试用scrapy startproject tutorial我开始一个项目时出现以下错误信息:

我已经尝试更新 pyasn1 和服务标识包,但这并没有改变任何东西。我没有找到有关此特定问题的任何帮助。

有没有人遇到过类似的问题?有没有解决方案(甚至是“残酷”的解决方案,比如卸载一切从头开始)?

0 投票
1 回答
173 浏览

python - pyasn1.error.PyAsn1Error:未知位标识符

我尝试使用prettyInpython 库中的方法pyasn1.type.univ.BitString

这个方法需要一个字符串,但无论我传入什么,在 python 交互式 shell 中都会引发异常pyasn1.error.PyAsn1Error: Unknown bit identifier。我在谷歌上查找了该方法的源代码,这是我发现的:

有谁知道这个方法接受什么样的字符串?此方法用于我必须调试且无法更改的程序中。

谢谢你的帮助,

鼓手库本图

0 投票
1 回答
2645 浏览

python-2.7 - Pyasn1 decoder.decode 如何工作?

我有一小部分代码:

我的 binary_file 变量它是一个特定的二进制文件编码(CDR)

如果我尝试解码读取的部分,它会给我这个错误:

我该如何解决?