|
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, load_pkcs12, 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 |
| - |
| 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 |
| - pkcs12 = load_pkcs12(pkcs12_key, password.encode("utf-8")).get_privatekey() |
47 |
| - return dump_privatekey(FILETYPE_ASN1, pkcs12) |
| 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