使用jdk的keytool 生成CA证书的方法

时间:2023-03-09 17:29:23
使用jdk的keytool 生成CA证书的方法

一、CA证书生成设置总共分为以下5步:

步骤:

1、根据java的keytool生成CA根证书,放在服务器

2、根据服务器CA根证书导出客户端证书

3、tomcat增加SSL配置

4、客户端IE浏览器导入受信任客户端证书

5、使用客户端IE浏览器通过https协议访问portal

第一步:cmd到jdk的bin目录下执行 生成CA证书

keytool -genkey -alias "cdv" -keyalg "RSA" -keystore "c:\cdv.keystore" -dname "CN=10.7.4.68 , OU=CDV.COM , O=CDV, L=BEIJING,
ST=BEIJING, C=CN" -keypass 0p-0p-0p- -storepass 0p-0p-0p- -validity 730

使用jdk的keytool 生成CA证书的方法

第二步:根据服务器CA根证书导出客户端证书

执行keytool命令根据服务端证书导出客户端证书。

keytool -export -file "c:\cdv.crt" -alias "cdv" -keystore "c:\cdv.keystore"
使用jdk的keytool 生成CA证书的方法
为了便于说明附录上面配置的贴图:
使用jdk的keytool 生成CA证书的方法

CN= 写服务端的ip或域名,这个不能瞎写,需和客户端https访问的ip或域名 一致 否则导致证书校验失败,OU= O= L= ST= C= 可以随便写,validity 是证书有效期 默认是 90天,730 等于2年

第三步: tomcat的server.xml加配置

tomcat的server.xml加SSL配置。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="c:\cdv.keystore" keystorePass="0p-0p-0p-" />

使用jdk的keytool 生成CA证书的方法

为了便于说明附录上面配置的贴图:

使用jdk的keytool 生成CA证书的方法

服务端证书位置 需 和 tomcat的server.xml 配置一致,根据服务端证书导出的 cdv.crt客户端证书 需要导入到 客户端 IE浏览器 的受信任证书中(因我们自己 并非 官方CA发行机构,需人为导入到受信任证书中)

第四步:向浏览器(IE)导入受信证书

使用jdk的keytool 生成CA证书的方法

查了下 阿里云的CA授信价格 最便宜的是 1年5000(这钱太好挣了),CA 和 https 主要是银行登录、电子交易 这种 关键数据 传输加密用的多,其实一般的管理系统 没必要用,用https 请求明显比 http请求 慢

CA中心又称CA机构,即证书授权中心(Certificate Authority ),或称证书授权机构,作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

相关理论知识自己百度

使用jdk的keytool 生成CA证书的方法

二、抓包对比

8080端口抓包样例

使用jdk的keytool 生成CA证书的方法

8443端口抓包样例

使用jdk的keytool 生成CA证书的方法