0

我有以下代码:

    from cryptography import x509
    from cryptography.hazmat.backends import default_backend
    from cryptography.x509.oid import _OID_NAMES
    file = open('ToParse.pem',"r")
    file_data = file.read()
    certoparse = x509.load_pem_x509_certificate(bytes(file_data,'utf-8'), 
    default_backend())
    signalgo = certoparse.signature_algorithm_oid
    print (signalgo)

打印给了我这个:

    <ObjectIdentifier(oid=1.2.840.113549.1.1.11, name=sha256WithRSAEncryption)>

但我只对名字感兴趣,所以我尝试了:

    print (signalgo.name)

但是“ObjectIdentifier”对象没有属性名称 id 只有 dotted_string 属性 (oid)。

    AttributeError: 'ObjectIdentifier' object has no attribute 'name'
    >>> print (signalgo.dotted_string)
    1.2.840.113549.1.1.11

我的问题是:我怎样才能得到这个 OID 的描述?

先感谢您。

4

1 回答 1

0

答案是 :

print(signalgo._name)

对不起,python 的新手(用 dir(signalgo) 弄清楚了)。

于 2019-09-03T14:52:21.083 回答