问题标签 [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 回答
528 浏览

python - 将 HEX 数据中的公钥等 OID 转换为点格式

大家好,

我有稍微修改过的CV1 RSA 证书。所以,我不想使用 asn1wrap 来解析“der”文件,因为它有时会变得过于复杂,而是因为标签已经为 CV1 证书修复,我可以解析HEX 数据这个“der”文件通过将二进制数据转换为十六进制并提取所需的数据范围。

但是对于表示,我希望OID采用点格式, 例如:ABSOLUTE OID 1.3.6.33.4.11.5318.2888.18.10377.5

我可以从整个十六进制数据中提取十六进制字符串: '060D2B0621040BA946964812D10905'

任何可以直接进行此转换的python3函数。或者任何人都可以帮助转换相同的逻辑。

0 投票
1 回答
231 浏览

asn.1 - 如何从 pyasn1 对象中恢复基板?

我有一个复杂的嵌套 ASN.1 结构作为字节。我想在原始字节编码中找到该结构中的所有 T61Strings (比如说) 。这在pyasn1中可能吗?

到目前为止,我只知道如何在 BER 解码的 Python 对象中定位 T61Strings(或其他)。我可以重新编码每一个,但不能保证重新编码的值与原始值匹配。这里有一些加密货币在起作用,因此对这些字节值很挑剔。

如果我能做到decoded_object.get_substrate(),或类似的,我会被分类。

想法?谢谢。


更新:Ilya Etingof 的回答似乎效果很好。

0 投票
1 回答
241 浏览

pyasn1 - 在 pyasn1 中处理嵌套的 DER,打包到八位字节字符串中

以下是 RFC 5280 定义 X.509 扩展字段的方式:

当我使用 pyasn1 解码器时,我将获得一个可以进一步解码的对象,并使用适合foo于.foo['extnValue'].asOctets()foo['extnID']

问题:假设extnID我的应用程序中有一个特殊的,是否可以在 pyasn1 中定义一个模式,(a)不接受任何 OBJECT IDENTIFIER,只接受特殊的;(b) 通过 OCTET STRING 包装器的步骤以根据适当的特殊“子模式”解码有效负载?

我可以通过代码中的特殊情况逻辑来做到这一点,但如果支持,我更愿意定义一个特殊情况模式。

0 投票
1 回答
115 浏览

pyasn1 - 无法安装 scikit-survival 软件包。得到一个 Pyasn1 错误和一个“dill”错误

我一直在尝试安装 scikit-survival 包以进行生存分析,但每当我尝试这样做时,我都会收到如下所示的错误。

错误

pyasn1-modules 0.1.5 has requirement pyasn1<0.4.0,>=0.3.4, but you'll have pyasn1 0.1.9 which is incompatible. 错误

0 投票
1 回答
281 浏览

python - 无法使用 PyAsn1 Python 从 pkcs7 信封中获取加密密钥

我正在尝试从 PKCS7 信封中提取 RSA 加密的 AES 密钥,并收到一条错误消息,指出加密的密钥是一个模式,而不是一个值。为什么在信封中有一行写着 encryptedKey=....

这段代码的结果是:

0 投票
0 回答
169 浏览

python - 如何从 EncryptedKey 对象访问 RSA 加密的 AES 密钥数据?Python

我正在尝试从 EncryptedKey 对象访问关键数据字节。我不清楚这是 PyAsn1 对象还是 Python 对象还是 Python 加密对象。如何访问关键数据?我努力了

我还不确定是否 error:TypeError: initializer for ctype 'unsigned char *' must be a cdata pointer, not EncryptedKey 可能是由于填充问题,因为我不知道 RSA 加密 AES 密钥使用了哪种类型的填充。

此代码导致以下结果:

0 投票
1 回答
70 浏览

python - 通过excel等文件填充值

在我使用 pyasn 创建的 Python 类之后,我希望看到通过文件传递值而不是创建对象并通过对象传递成员值的方式的可行性。字符串和数字的值类型将是在 excel 表中,这意味着其值不是另一个模式的所有参数都将在 excel 表中(模式表示像 Credit_card 这样的类)

我们可以通过诸如 excel 之类的文件来传递上述示例的 asn 的值吗?就像引用“abcdefghixcv”一样。

0 投票
1 回答
139 浏览

pyasn1 - 如何在 SEQUENCE OF 对象中设置默认值

我开始使用 pyasn1 库,我有一个关于如何在 SEQUENCE OF 对象中设置默认值的问题。我的 ASN1 结构如下:

我了解如何CasinoPlayer使用对象在 SEQUENCE 中创建 DEFAULT 字段namedtype.DefaultedNamedType并使用子类型添加SIZE约束,但是我应该如何初始化默认值 {7,7,7}?

谢谢

0 投票
1 回答
124 浏览

python - Python pyasn1 通过 sqlalchemy 发生冲突

我有一个使用 sqlalchemy 库的 Python 代码。它在我的开发环境中运行良好。这个错误发生在我进入 prod 之后。

错误信息是

pkg_resources.ContextualVersionConflict: (pyasn1 0.4.4 (c:\programdata\anaconda3\lib\site-packages), Requirement.parse('pyasn1==0.3.2'), {'pyasn1-modules'})

看起来 prod 的 pyasn1 较新,但怎么可能与旧的不兼容?

感谢您的任何想法!

0 投票
1 回答
617 浏览

python - How to prettyprint as hex a pyasn1 octect string that is printed as ascii

I have some pyasn1 octect string objects defined like this:

When I decode the asn.1 using pyasn.1 library, it translates the value to its ascii representation, for example I get "&/" but I need to show the numeric value, in hex representation. For example in this case instead of &/ I need 262F. Obviously I can extract &/ or whatever I find in there and convert it manually, like:

but then I can't write it back in the field in this format.

Is there an easy way to manipulate the object before printing it out in such a way that I can see 262F in the final pretty print without modifying the asn.1 definition (that I can't change as it is given to me)?