如何将x509.get_pubkey().type()转换为人类可读的字符串?

2024-06-25 07:22:38 发布

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

我要打印SSL公钥类型:

certificate = ssl.get_server_certificate(serverAddress)
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, certificate)
pk = x509.get_pubkey()
print("Certificate public key type : " + keyTypeToStr(pk.type()))
def keyTypeToStr(keyType):
    if keyType == OpenSSL.crypto.TYPE_RSA:
        return "RSA"
    elif keyType == OpenSSL.crypto.TYPE_DSA:
        return "DSA"
    #elif keyType == OpenSSL.crypto.TYPE_ECDSA: # this enum doesn't exist
    #   return "ECDSA"

    return "UNKNOW(" + str(keyType) + ")"

问题是,这是一个数字。。。例如,我想打印“secp256r1”。 我怎么做


Tags: getreturntypecertificatecryptoecdsarsax509