Openssl 生成根证书并签证域名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openssl 生成根证书并签证域名相关的知识,希望对你有一定的参考价值。
参考技术A 请把上面 www.xxx.com 改成自己的需要生成服务器证书的域名-subj 参数中填写的是证书信息
-days 是根证书的有效天数
-sha256 是采用sha256离散算法,谷歌浏览器不在支持sha1算法的安全提示,也即是说如果用sha1作为参数,谷歌浏览器可能显示为不安全
subj 的内容与#4一样,这里是网站使用者的证书信息
最后生成的文件如下:
部署到nginx中只需要 server_private.key 和 server.cer
根证书 ca.cer 可以安装到本地操作系统中对网站的证书进行验证
如何使用OpenSSL工具生成根证书与应用证书
使用OpenSSL工具生成根证书与应用证书方法:1、生成顶级CA的公钥证书和私钥文件,有效期10年(RSA 1024bits,默认) openssl req -new -x509 -days 3650 -keyout CARoot1024.key -out CARoot1024.crt
2、 为顶级CA的私钥文件去除保护口令 openssl rsa -in CARoot1024.key -out CARoot1024.key
3、 生成顶级CA的公钥证书和私钥文件,有效期15年(RSA 2048bits,指定) openssl req -newkey rsa:2048 -x509 -days 5480 -keyout CARoot2048.key -out CARoot2048.crt
4、 为顶级CA的私钥文件去除保护口令 openssl rsa -in CARoot2048.key -out CARoot2048.key
5、 为应用证书/中级证书生成私钥文件 openssl genrsa -out app.key 2048
6、 根据私钥文件,为应用证书/中级证书生成 csr 文件(证书请求文件) openssl req -new -key app.key -out app.csr
7、 使用CA的公私钥文件给 csr 文件签名,生成应用证书,有效期5年 openssl ca -in app.csr -out app.crt -cert CARoot1024.crt -keyfile CARoot1024.key -days 1826 -policy policy_anything
8、 使用CA的公私钥文件给 csr 文件签名,生成中级证书,有效期5年 openssl ca -extensions v3_ca -in app.csr -out app.crt -cert CARoot1024.crt -keyfile CARoot1024.key -days 1826 -policy policy_anything
以上是生成根证书与应用证书过程中要用到的所有命令,根据生成目标不同,分为三组。其中,前面两组都用于生成自签名的顶级CA(区别只在于密钥长度不同),实际应用中只需根据需求选择一组即可。 最后一组用于生成非自签名的证书,包括中级证书与应用证书。所谓中级证书,是具有继续颁发下级证书权限的子CA,而本文中所说的应用证书,特指不能用来继续颁发下级证书,只能用来证明个体身份的证书。顶级CA在签发二者的时候,只是多少一个 -extensions v3_ca 选项的区别,这个选项赋予被签发的证书继续签发下级证书的权力。 参考技术A openssl_x509_parse函数解析用户证书与根证书,然后比对颁发机构等信息,判断用户证书是否合法
以上是关于Openssl 生成根证书并签证域名的主要内容,如果未能解决你的问题,请参考以下文章
使用OpenSSL创建多级CA证书链签发证书并导出为pkcs12/p12/pfx文件