Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 1 | """ |
| 2 | Create certificates and private keys for the 'simple' example. |
| 3 | """ |
| 4 | |
| 5 | from OpenSSL import crypto |
| 6 | from certgen import * # yes yes, I know, I'm lazy |
Jim Shaver | 4ca59a1 | 2015-04-25 17:31:22 -0400 | [diff] [blame^] | 7 | cakey = createKeyPair(TYPE_RSA, 2048) |
Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 8 | careq = createCertRequest(cakey, CN='Certificate Authority') |
| 9 | cacert = createCertificate(careq, (careq, cakey), 0, (0, 60*60*24*365*5)) # five years |
Jim Shaver | 4ca59a1 | 2015-04-25 17:31:22 -0400 | [diff] [blame^] | 10 | print('Creating Certificate Authority private key in \"simple/CA.pkey\"') |
Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 11 | open('simple/CA.pkey', 'w').write(crypto.dump_privatekey(crypto.FILETYPE_PEM, cakey)) |
Jim Shaver | 4ca59a1 | 2015-04-25 17:31:22 -0400 | [diff] [blame^] | 12 | print('Creating Certificate Authority certificate in \"simple/CA.cert\"') |
Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 13 | open('simple/CA.cert', 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, cacert)) |
| 14 | for (fname, cname) in [('client', 'Simple Client'), ('server', 'Simple Server')]: |
Jim Shaver | 4ca59a1 | 2015-04-25 17:31:22 -0400 | [diff] [blame^] | 15 | pkey = createKeyPair(TYPE_RSA, 2048) |
Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 16 | req = createCertRequest(pkey, CN=cname) |
| 17 | cert = createCertificate(req, (cacert, cakey), 1, (0, 60*60*24*365*5)) # five years |
Jim Shaver | 4ca59a1 | 2015-04-25 17:31:22 -0400 | [diff] [blame^] | 18 | print('Creating Certificate %s private key in \"simple/%s.pkey\"' % (fname, fname)) |
Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 19 | open('simple/%s.pkey' % (fname,), 'w').write(crypto.dump_privatekey(crypto.FILETYPE_PEM, pkey)) |
Jim Shaver | 4ca59a1 | 2015-04-25 17:31:22 -0400 | [diff] [blame^] | 20 | print('Creating Certificate %s certificate in \"simple/%s.cert\"' % (fname, fname)) |
Jean-Paul Calderone | 897bc25 | 2008-02-18 20:50:23 -0500 | [diff] [blame] | 21 | open('simple/%s.cert' % (fname,), 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert)) |