def load_pem_file_item(buffer):
backend = cryptography.hazmat.backends.default_backend()
# PKCS#1/PKCS#8 private in PEM
try:
return cryptography.hazmat.primitives.serialization.load_pem_private_key(buffer, password=None, backend=backend)
except:
pass
# PKCS#1/PKCS#8 public in PEM
try:
return cryptography.hazmat.primitives.serialization.load_pem_public_key(buffer, backend)
except:
pass
# X509 certificate in PEM
try:
return load_pem_x509_certificate(buffer, backend)
except:
pass
# PKCS7 certificate bundle in PEM
try:
return OpenSSL.crypto.load_pkcs7_data(OpenSSL.crypto.FILETYPE_PEM, buffer)
except:
pass
raise Exception("Unknown file type for: {}".format(buffer))
评论列表
文章目录