使用pyOpenSSL,我想要创建以下内容的密钥对、证书签名请求(csr)和自签名证书:
1. 用于自签名的密钥对 2. 证书签名请求(csr) 3. 自签名证书
当我使用openSSL命令行工具时,我使用以下命令来执行:
1. 用于自签名的密钥对 openssl genrsa -out pkey.pem 2048 openssl rsa -in pkey.pem -out public-pkey.pem -outform PEM -pubout
2. 证书签名请求(csr) openssl req -new -key pkey.pem -subj "/C=US/O=XXX/CN=XXX" -days 365 -out csrrequest.csr 3. 自签名证书 openssl x509 -in csrrequest.csr -req -signkey pkey.pem -days 365 -set_serial 0x12345 -sha256 -out selfsignedcert.pem
这是有效的!服务器接受了自签名证书并返回了经过服务器签名的证书。
对于pyOpenSSL,我使用以下代码:
1. 用于自签名的密钥对 psec = crypto.PKey() psec.generate_key(crypto.TYPE_RSA, 2048)
2. 证书签名请求(csr) csrrequest = crypto.X509Req() csrrequest.get_subject().C = "US" csrrequest.get_subject().O = "XXX" csrrequest.get_subject().CN = "XXX" csrrequest.set_pubkey(psec)
3. 自签名证书 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")
这不起作用!服务器不接受自签名证书。服务器无法签署和返回经过服务器签名的证书。
1. 用于自签名的密钥对 2. 证书签名请求(csr) 3. 自签名证书
当我使用openSSL命令行工具时,我使用以下命令来执行:
1. 用于自签名的密钥对 openssl genrsa -out pkey.pem 2048 openssl rsa -in pkey.pem -out public-pkey.pem -outform PEM -pubout
2. 证书签名请求(csr) openssl req -new -key pkey.pem -subj "/C=US/O=XXX/CN=XXX" -days 365 -out csrrequest.csr 3. 自签名证书 openssl x509 -in csrrequest.csr -req -signkey pkey.pem -days 365 -set_serial 0x12345 -sha256 -out selfsignedcert.pem
这是有效的!服务器接受了自签名证书并返回了经过服务器签名的证书。
对于pyOpenSSL,我使用以下代码:
1. 用于自签名的密钥对 psec = crypto.PKey() psec.generate_key(crypto.TYPE_RSA, 2048)
2. 证书签名请求(csr) csrrequest = crypto.X509Req() csrrequest.get_subject().C = "US" csrrequest.get_subject().O = "XXX" csrrequest.get_subject().CN = "XXX" csrrequest.set_pubkey(psec)
3. 自签名证书 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")
这不起作用!服务器不接受自签名证书。服务器无法签署和返回经过服务器签名的证书。
然而,使用pyOpenSSL时,我错过了创建自签名证书的openssl x509 -in csrrequest.csr -req
输入...
我的问题在哪里?有谁知道我做错了什么吗?
谢谢!