这两种OpenSSL生成方法的区别
我正在尝试创建自己的根 CA。
这是生成自签名根密钥/证书的一种方法。
openssl req -x509 -nodes -newkey rsa:2048 -subj /CN=$1/countryName=UK/stateOrProvinceName=UK/organizationName=Me -keyout $1.key.pem -out $1.cert.pem
这是另一个。
openssl genrsa -des3 -out $1.key.pem 2048
openssl req -new -subj /CN=$1/countryName=UK/stateOrProvinceName=UK/organizationName=Me -key $1.key.pem -out $1.csr
openssl x509 -req -days 36500 -in $1.csr -signkey $1.key.pem -out $1.crt.pem
如果我使用第一个证书创建客户端和服务器连接(使用 QSslSocket),则连接正常。问题是证书上的日期是 1975 年,我不能用它来签署任何其他证书。
我构造了第二种方法来生成具有无效日期的根证书,但 ssl 套接字连接失败,出现“未知”错误,并且没有其他线索。我检查了客户端和服务器上使用的证书是否正确。
我做错了什么?谢谢。
I'm trying to create my own root CA.
Here's one way of generating a self-signed root key/certificate.
openssl req -x509 -nodes -newkey rsa:2048 -subj /CN=$1/countryName=UK/stateOrProvinceName=UK/organizationName=Me -keyout $1.key.pem -out $1.cert.pem
And here's another.
openssl genrsa -des3 -out $1.key.pem 2048
openssl req -new -subj /CN=$1/countryName=UK/stateOrProvinceName=UK/organizationName=Me -key $1.key.pem -out $1.csr
openssl x509 -req -days 36500 -in $1.csr -signkey $1.key.pem -out $1.crt.pem
If I use the first certificate to create a client and server connection (using QSslSocket) then the connection is made OK. Trouble is the date on the certificate is 1975 and I can't use it to sign any others.
I constructed the second method to generate a root certificate with a vaid date, but the ssl socket connection fails with "unknown" error and no other clues. I checked that the right certificate is being used on both the client and server.
What am I doing wrong? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用
-days 36500
,则时间回绕至 1975 年:使用较小的 -days 值。例如:
那么你应该得到有效日期:
If you use
-days 36500
, then the time wraps to year 1975:Use smaller -days value. For example:
Then you should get valid day: