Create self signed SSL certificates in Python
Asked Answered
J

2

7

I am trying to generate self signed SSL certificates using Python, so that it is platform independent. My target is the *.pem format.

I found this script that generates certificates, but no information how to self-sign them.

Jotter answered 9/9, 2011 at 10:59 Comment(1)
related: #256905Eliathas
E
8

The script you've linked doesn't create self-signed certificate; it only creates a request.

To create self-signed certificate you could use openssl it is available on all major OSes.

$ openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

If you'd like to do it using M2Crypto then take a look at X509TestCase.test_mkcert() method.

Eliathas answered 9/9, 2011 at 13:30 Comment(3)
Yay, a unit test that does it. Thank you, I'll look into that. As for openssl I am not sure how I can call that from python, making sure that it's available.Jotter
I'm trying to do something similar - but trying to avoid writing files as much as possible - I'd rather store the data in a database.Sherlene
The OP asked for platform independence: so that it is platform independent You can't expect everyone to have openssl installed on their machines.Jaundiced
M
0

You could use the openssl method that J.F. Sebastian stated from within Python.

Import the OS lib and call the command like this:

os.system("openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095")

If it requires user interaction, it might work if you run it via subprocess pipe and allow for raw input to answer any prompts.

Miscegenation answered 14/2, 2012 at 18:17 Comment(1)
The OP asked for platform independence: so that it is platform independent You can't expect everyone to have openssl installed on their machines.Jaundiced

© 2022 - 2024 — McMap. All rights reserved.