使用keytool生成证书 Tomcat服务器配置https认证


一、证书生成 1 、生成服务器证书
(1)打开打开命令控制台,进入jdk的bin目录
(2)keytool为tomcat生成证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天)
keytool -genkey -v -alias tomcat -keyalg rsa -keystore c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -validity 36500
注意:名字与姓氏,unknown:填的东西可能和tomcat启动时访问的域名有关系,
2 、生成客户端证书
keytool -genkey -v -alias mykey -keyalg rsa -storetype pkcs12 -keystore c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12
3 、 让服务器信任客户端证书
(1)由于不能直接将pkcs12格式的证书库导入,必须先把客户端证书导出为一个单独的cer文件,使用如下命令:
keytool -export -alias mykey -keystore c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12 -storetype pkcs12 -storepass 111111 -rfc -file c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer(2)将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:
keytool -import -v -file c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer –keystore c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore(3)通过 list 命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:
keytool -list -keystore c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore
4 、让客户端信任服务器证书
把服务器证书导出为一个单独的cer文件提供给客户端,使用如下命令:
keytool -keystore c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -export -alias tomcat -file c:\myfile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.cer5 、 经过上面操作,生成如下证书:
其中 tomcat.cer 提供给客户端,tomcat.keystore供服务器使用
二、证书使用 1 、 服务器tomcat的配置
(1)打开tomcat根目录下的/conf/server.xml,找到connector port="8443"配置段,修改为如下:
注释掉
(2)测试服务端,ie浏览器输入访问地址
但由于是自签名的证书,所以浏览器会警告我们不安全,选择继续:
可以看到能成功访问了(地址栏“证书错误”,此时数据已经是使用https传输了)
【使用keytool生成证书 Tomcat服务器配置https认证】2 、 导入服务器公钥证书(tomcat.cer)
由于是自签名的证书,为避免每次都提示不安全 。这里双击tomcat.cer安装服务器证书 。
注意:将证书填入到“受信任的根证书颁发机构”
再次重新访问服务器,会发现没有不安全的提示了,同时浏览器地址栏上也有个“锁”图标 。
至此,就完成了配置 。
注:由于jdk自带的keytool生成的签名属于弱签名算法(sha-1),但是,sha-1已经过时因而不再推荐使用 。新证书使用了更强的签名算法(比如sha-256) 。sha-1的证书将从2017开始不再被主流浏览器厂商视为安全的 。
最后: 通过cmd,将签名文件从**【***.keystore】文件转换成【***.p12】的文件,再转换成【*.jks】:
先将路劲切换至jre下的bin文件夹下,再通过命令查询,命令如下:
keytool -importkeystore -srckeystore 【绝对路径+*.keystore】 -srcstoretype jks -deststoretype pkcs12 -destkeystore 【*.p12】
keytool -v -importkeystore -srckeystore 【绝对路径+*.p12】 -srcstoretype pkcs12 -destkeystore 【绝对路径+*.jks】 -deststoretype jks
p12 证书提取pem证书和私钥
openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crtopenssl pkcs12 -in server.p12-nocerts -password pass:111111 -passout pass:111111 -out server.keypenssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key 到此这篇关于tomcat服务器配置https认证(使用keytool生成证书)的文章就介绍到这了,更多相关tomcat配置https认证内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
-- 展开阅读全文 --

    推荐阅读