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.

1

2 Answers 2

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.

Sign up to request clarification or add additional context in comments.

3 Comments

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.
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.
The OP asked for platform independence: so that it is platform independent You can't expect everyone to have openssl installed on their machines.
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.

1 Comment

The OP asked for platform independence: so that it is platform independent You can't expect everyone to have openssl installed on their machines.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.