Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. SSLCertificate.py
  2. --------------------------------------------------
  3. from OpenSSL import crypto, SSL
  4.  
  5.  
  6. def create_self_signed_cert(cert_file, key):
  7.     cert = crypto.X509()
  8.     cert.set_serial_number(1001)
  9.     cert.set_notBefore(b'20190101000000Z')
  10.     cert.set_notAfter(b'20290101000000Z')
  11.     subject = cert.get_subject()
  12.     subject.C = "NO"
  13.     subject.ST = "Aust-Agder"
  14.     subject.L = "Grimstad"
  15.     subject.OU = "UiA"
  16.     subject.CN = "localhost"
  17.     cert.set_issuer(subject)
  18.     cert.set_pubkey(key)
  19.     cert.sign(key, "SHA256")
  20.     write_to_file(crypto.dump_certificate(crypto.FILETYPE_PEM, cert),cert_file)
  21.     return cert
  22.  
  23.  
  24.  
  25. def write_to_file(data, filename):
  26.     file = open(filename, "wb")
  27.     file.write(data)
  28.     file.close()
  29.  
  30.  
  31. def create_public_key_pair(key_file):
  32.     k = crypto.PKey()
  33.     k.generate_key(crypto.TYPE_RSA, 4096)
  34.     write_to_file(crypto.dump_privatekey(crypto.FILETYPE_PEM, k), key_file)
  35.     return k
  36.  
  37. if __name__ == "__main__":
  38.     k=create_public_key_pair("example.key")
  39.     create_self_signed_cert("example.crt", k)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement