Python 如何将x509.get_pubkey().type()转换为人类可读的字符串?
我要打印SSL公钥类型:Python 如何将x509.get_pubkey().type()转换为人类可读的字符串?,python,ssl,secp256r1,Python,Ssl,Secp256r1,我要打印SSL公钥类型: certificate=ssl.get\u server\u证书(服务器地址) x509=OpenSSL.crypto.load\u证书(OpenSSL.crypto.FILETYPE\u PEM,证书) pk=x509.get_pubkey() 打印(“证书公钥类型:+keyTypeToStr(pk.type())) def keyTypeToStr(keyType): 如果keyType==OpenSSL.crypto.TYPE\u RSA: 返回“RSA” el
certificate=ssl.get\u server\u证书(服务器地址)
x509=OpenSSL.crypto.load\u证书(OpenSSL.crypto.FILETYPE\u PEM,证书)
pk=x509.get_pubkey()
打印(“证书公钥类型:+keyTypeToStr(pk.type()))
def keyTypeToStr(keyType):
如果keyType==OpenSSL.crypto.TYPE\u RSA:
返回“RSA”
elif keyType==OpenSSL.crypto.TYPE_DSA:
返回“DSA”
#elif keyType==OpenSSL.crypto.TYPE_ECDSA:#此枚举不存在
#返回“ECDSA”
返回“UNKNOW(+str(keyType)+)”
问题是,这是一个数字。。。例如,我想打印“secp256r1”。
如何操作?键类型中不存在EC
namedCurve
字段。为此,您必须解析ECDSA密钥数据,但不知道如何在Python+OpenSSL中解析。