自签CA证书(HTTPS)生成流程

说明

`先看完,按步骤一步步配置;

1、创建一个本地证书签名请求(CSR)(windows服务端)

提示:这里描述项目中遇到的问题:
(参考http://wiki.jikexueyuan.com/project/tomcat/ssl-tls.html)
创建一个本地自签名证书

keytool -genkey -alias server -keyalg RSA -keystore server.keystore

输入密码(123123)/姓名(域名:www.baidu.cn)/单位(baidu)/组织名称(baidu)/城市(beijing)/省(beijing)/国家(CN)/y
完成则生成了server.keystore。

1、如报错:找不到keytool 需进入到JDK,C:\Program Files\Java\jdk1.8.0_51\bin
2、如报错:keytool 错误: java.io.FileNotFoundException: server.keystore (拒绝访问。)输入生成文件的路径:
C:\Program Files\Java\jdk1.8.0_51\bin>keytool -genkey -alias server -keyalg RSA -keystore /e:\aa\server.keystore/

2、然后利用下列代码创建 CSR(windows服务端)

keytool -certreq -keyalg RSA -alias server -file server.csr -keystore 

server.keystore
输入密码:123123
完成则生成了server.csr
需要路径则输入:

keytool -certreq -keyalg RSA -alias server -file /e:\aa\server.csr/ -keystore /e:/aa/server.keystore\

3、复制windows,生成的server.csr到Linux。(linux)

创建CA私钥和证书(linux)

openssl genrsa -out server_rootCA.key 2048
openssl req -x509 -new -nodes -key server_rootCA.key -sha256 -days 3650 -out server_rootCA.pem
openssl x509 -outform der -in server_rootCA.pem -out server_rootCA.crt 

生成了三个文件server_rootCA……文件。(linux)

4、将生成的server.csr用自建的server_rootCA.pem签名(linux)

新建v3.ext文件,内容如下:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.baidu.cn

CA签名server.csr

Sudo openssl x509 -req -in server.csr -CA server_rootCA.pem -CAkey server_rootCA.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile v3.ext

生成了server_rootCA.crt到server.keystore。

5、将生成的server_rootCA.crt到server.keystore 复制到U盘,到Windows。

keytool -import -alias CA -keystore server.keystore -trustcacerts -file server_rootCA.crt

密码:123123

y

将生成的server.crt导到server.keystore

keytool -import -alias server1 -keystore server.keystore -file server.crt

密码:123123

keytool -import -alias server -keystore server.keystore -file server.crt

密码:123123

y

keytool -list -keystore server.keystore

查看有三个则成功;

6、将生成的server_rootCA.crt和server.crt,双击安装到受信任的根证书发布机构

先安装server_rootCA.crt,再安装server.crt。(Windows服务端)

7、客户端(Linux),浏览器配置。

将server_rootCA.pem添加到客户端的nss中

Windows 列出所有证书:
keytool -list -keystore server.keystore

Linux列出所有证书:
certutil -d sql:$HOME/.pki/nssdb -L

添加证书:
certutil -d sql:$HOME/.pki/nssdb -A -t “P,” -n 证书别名 -i 证书路径

注:windows添加server.crt到 浏览器即可,Linux添加erver_rootCA.pem到浏览器即可;

麒麟的Linux。不能导证书,需要另外升级麒麟的包。

Tomcat,server.xml需加配置:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"  
			maxThreads="150" scheme="https" secure="true"  
			clientAuth="false" keystoreFile="d:/server.keystore"  
			keystorePass="123123" sslProtocol="TLS" />
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a123560mh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值