openssl签发证书 有自签发证书 签发证书签名请求

关于这些网上已经有很多的人写了,我就不再班门弄斧了

主要注意一下密钥的存放位置就行

 

我主要想写的是一些小的细节问题,因为这个问题让我烦了好久。

当然也是因为我的不细心造成

 

我在CA签发服务器的证书签发请求(csr)后,查看生成的证书,居然是个空的。

刚开始我以为是服务器生成的csr有问题,所以重试了好几次都没解决问题。

然后我又去看CA的自签发证书,一点问题也没有

    用openssl 查看CA自签发证书

        openssl  x509 -text -in  cacert.pem

 

然后我就没办法了,开始是上网搜索,但是都没有这快的信息。所以我又跑到群里去问,大家也没什么反应。估计也是没有遇到过这种问题。但是其中有个人提到他也出现过生成的证书是空的情况,他说因为信息填错了。但是我就不懂了什么信息填错了啊?再追问那人又没消息了。

 

没办法,我只能用老办法,推到从来一遍。从CA自签发证书到服务器端csr的生成最后小心翼翼的签发csr,还是老问题,生成了空的证书。不过

openssl 签发证书 失败 生成空的证书_openssl

我居然一直没有注意返回的错误信息,根据错误提示 organization 这一项 CA自签发证书是Mageedu,而我生成csr时是随便填的sdfe,两者不匹配。这时我知道群里的那位朋友提到的信息填错了指的应该就是这里了吧。

然后,我又一想生成csr时需要填的信息有好几个呢,哪些是必须与CA的自签发证书一样呢?不可能全都一样吧。

没办法我就一个个测试。所以我就写了两个小脚本一个生成密钥和csr 另外一个签发csr

openssl 签发证书 失败 生成空的证书_openssl_02

 

openssl 签发证书 失败 生成空的证书_CA_03

这样我就一个个去试输入的信息

openssl 签发证书 失败 生成空的证书_签发证书_04

最后得出的结果是

Country Name

State or Province Name

Organization Name

这三项必须与CA的自签发证书一样,要不然就会出问题,生成空的证书。

只要注意生成csr时这三项的信息与CA的一致就没有问题

 

这个有点像地域管辖权的意思,比如北京的某个派出所不能颁发上海某地的***一样。具体CA体系是怎么样的结构,我也没找到信息。这是我的一天想法而已