如何解析加密x509扩展

2024-10-03 17:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个x509证书,我正试图解析它(特别是KeyUsage),它在python cryptography module中的类型似乎是extensions.KeyUsage(来自extensions.py)

type(KeyUsage)

返回

<class 'cryptography.x509.extensions.KeyUsage'>

从返回的完整扩展字符串

KeyUsage = certDecoded.extensions.get_extension_for_oid(ExtensionOID.KEY_USAGE)

看起来像:

KeyUsage: <Extension(oid=<ObjectIdentifier(oid=2.5.29.15, name=keyUsage)>, critical=True, value=<KeyUsage(digital_signature=True, content_commitment=False, key_encipherment=True, data_encipherment=False, key_agreement=False, key_cert_sign=False, crl_sign=False, encipher_only=False, decipher_only=False)>)>

调用KeyUsage.value返回

<KeyUsage(digital_signature=True, content_commitment=False, key_encipherment=True, data_encipherment=False, key_agreement=False, key_cert_sign=False, crl_sign=False, encipher_only=False, decipher_only=False)>

返回上述类型(extensions.KeyUsage)的

查看source for the class它(对我来说)似乎返回了一个字符串(这是我的第一个误解…),因为我认为根据文档,扩展是可移植的

然而,有谁能帮助我理解(第一)对象类型,这样我就可以在将来养活自己,(第二)我应该如何解析它的一些建议;请说成一个简单的dict对象好吗


Tags: key字符串falsetrue类型onlyforextensions