Advertisement
AntonioVillanueva

certificats pfx dans python Linux

Nov 28th, 2023
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.41 KB | None | 0 0
  1.  
  2. #Python Linux
  3. # Chemin d'accès au fichier de certificat PFX et au mot de passe
  4. pfx_file_path = 'certificat.pfx' #certificat
  5. pfx_password = 'ma_cle' # key
  6.  
  7. from cryptography.hazmat.primitives import serialization
  8. from requests import Session
  9. import cryptography.hazmat.primitives.serialization.pkcs12
  10. import tempfile #Generate temporary files and directories
  11.  
  12. with open(pfx_file_path, "rb") as f:
  13.     (
  14.         private_key,
  15.         certificate,
  16.         additional_certificates,
  17.     ) = serialization.pkcs12.load_key_and_certificates(
  18.         f.read(), pfx_password.encode()
  19.     )
  20.  
  21. """
  22. La clé sera disponible dans un fichier temporaire lisible par l'utilisateur pendant
  23. l' exécution du programme (jusqu'à ce que la clé et le certificat soient gc'ed)
  24. """
  25.  
  26. key = tempfile.NamedTemporaryFile()
  27. cert = tempfile.NamedTemporaryFile()
  28. key.write(
  29.     private_key.private_bytes(
  30.         encoding=serialization.Encoding.PEM,
  31.         format=serialization.PrivateFormat.PKCS8,
  32.         encryption_algorithm=serialization.NoEncryption(),
  33.     )
  34. )
  35.  
  36. key.flush()
  37.  
  38. """ Ecrire certificat PEM Generate temporary files and directories """
  39. cert.write(
  40.     certificate.public_bytes(serialization.Encoding.PEM),
  41. )
  42.  
  43. cert.flush()
  44. session = Session() # ...  requests.session()
  45. session.cert = (cert.name, key.name)
  46.  
  47. print ("DEBUG session.cert ",session.cert, cert.name,key.name)
  48.  
  49. input("Presiona Enter para continuar...")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement