def load_binary_item(buffer):
backend = cryptography.hazmat.backends.default_backend()
# PKCS#1/PKCS#8 private in DER
try:
return cryptography.hazmat.primitives.serialization.load_der_private_key(buffer, password=None, backend=backend)
except:
pass
# PKCS#1/PKCS#8 public in DER
try:
return cryptography.hazmat.primitives.serialization.load_der_public_key(buffer, backend)
except:
pass
# X509 certificate in DER
try:
return load_der_x509_certificate(buffer, backend)
except:
pass
# PKCS7 certificate bundle in DER
try:
return OpenSSL.crypto.load_pkcs7_data(OpenSSL.crypto.FILETYPE_ASN1, buffer)
except:
pass
# PKCS12 bundle (binary)
try:
return OpenSSL.crypto.load_pkcs12(buffer)
except:
pass
raise Exception("Unknown file type for: {}".format(buffer))
评论列表
文章目录