using pyOpenSSL I want to create
- a key pair for self-signing
- a certificate signing request (csr)
- a self-signed-certificate
When I use the openSSL command line tool I used the following commands to do that:
- a key pair for self-signing - openssl genrsa -out pkey.pem 2048- openssl rsa -in pkey.pem -out public-pkey.pem -outform PEM -pubout
- a certificate signing request (csr) - openssl req -new -key pkey.pem -subj "/C=US/O=XXX/CN=XXX" -days 365 -out csrrequest.csr
- a self-signed-certificate - openssl x509 -in csrrequest.csr -req -signkey pkey.pem -days 365 -set_serial 0x12345 -sha256 -out selfsignedcert.pem
This works! Server accepts the self-signed certificate and returns a server-signed certificate.
For pyOpenSSL I use the following code:
- a key pair for self-signing - psec = crypto.PKey()- psec.generate_key(crypto.TYPE_RSA, 2048)
- a certificate signing request (csr) - csrrequest = crypto.X509Req()- csrrequest.get_subject().C = "US"- csrrequest.get_subject().O = "XXX"- csrrequest.get_subject().CN = "XXX"- csrrequest.set_pubkey(psec)
- a self-signed-certificate - selfsignedcert = crypto.X509()- selfsignedcert.set_serial_number(12345)- selfsignedcert.gmtime_adj_notBefore(0)- selfsignedcert.gmtime_adj_notAfter(365*24*60*60)- selfsignedcert.set_subject(csrrequest.get_subject())- selfsignedcert.set_issuer(selfsignedcert.get_subject())- selfsignedcert.set_pubkey(csrrequest.get_pubkey())- selfsignedcert.sign(psec, "sha256")
This is not working! Server does not accept the self-signed certificate. The server is not able to sign and return a server-signed certificate.
By using pyOpenSSL, however, I miss the input of openssl x509 -in csrrequest.csr -req for the creation of the self-signed certificate...
Where is my fault? Does anyone know what I am doing wrong??
Thanks!
 
     
     
    