我有以下代码:
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的描述?
谢谢。
答案 0 :(得分:0)
答案是:
print(signalgo._name)
对不起,一个python新手(用dir(signalgo)弄清楚了)。