|
1 | 1 | from Crypto.PublicKey import RSA |
2 | 2 | from Crypto.Hash import SHA1, SHA224, SHA256, SHA384, SHA512 |
3 | | -from OpenSSL.crypto import load_certificate, dump_privatekey, FILETYPE_PEM, FILETYPE_ASN1, Error |
| 3 | +from OpenSSL.crypto import load_certificate, FILETYPE_PEM, FILETYPE_ASN1, Error |
4 | 4 | from client_encryption.encryption_exception import CertificateError, PrivateKeyError, HashAlgorithmError |
5 | | -from cryptography.hazmat.primitives.serialization import pkcs12 |
| 5 | +from cryptography.hazmat.primitives.serialization import pkcs12 |
| 6 | +from cryptography.hazmat.primitives import serialization |
6 | 7 |
|
7 | 8 | _SUPPORTED_HASH = {"SHA1": SHA1, "SHA224": SHA224, "SHA256": SHA256, "SHA384": SHA384, "SHA512": SHA512} |
8 | 9 |
|
@@ -40,11 +41,10 @@ def load_decryption_key(key_file_path, decryption_key_password=None): |
40 | 41 | raise PrivateKeyError("Wrong decryption key format.") |
41 | 42 |
|
42 | 43 |
|
43 | | -def __load_pkcs12_private_key(pkcs12_key, password): |
| 44 | +def __load_pkcs12_private_key(pkcs_file, password): |
44 | 45 | """Load a private key in ASN1 format out of a PKCS#12 container.""" |
45 | | - |
46 | | - private_key = pkcs12.load_pkcs12(pkcs12_key, password) |
47 | | - return dump_privatekey(FILETYPE_ASN1, private_key) |
| 46 | + private_key, certs, addcerts = pkcs12.load_key_and_certificates(pkcs_file, password.encode("utf-8")) |
| 47 | + return private_key.private_bytes(serialization.Encoding.PEM, serialization.PrivateFormat.TraditionalOpenSSL, serialization.NoEncryption()) |
48 | 48 |
|
49 | 49 |
|
50 | 50 | def __get_crypto_file_type(file_content): |
|
0 commit comments