目录

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


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

    第一步:生成秘钥库

    我们采用JDK自带的keytool工具生成秘钥库,别名 highway.dev ,存储路径:E:\etc\cas\keystore,别名和存储路径按自己的实际情况设置。

    keytool -genkey -v -alias highway.dev -keyalg RSA -keystore E:\etc\cas\keystore\highway.dev.keystore -validity 36500
    

    -genkey:表示要生成一个新的密钥对
    -v:表示在生成密钥对的过程中显示详细的信息
    -alias highway.dev:表示为生成的密钥对指定一个别名,这里的别名是 "highway.dev"
    -keyalg RSA:表示要使用 RSA 算法生成密钥对
    -keystore E:\etc\cas\keystore\highway.dev.keystore:表示要将生成的密钥对存储在指定的密钥库文件中(E:\etc\cas\keystore\highway.dev.keystore)
    -validity 36500:表示生成的证书的有效期为 36500 天,即大约100年。

    姓名与姓氏、组织单位名称、组织名称 很有讲究,填写自己设置的域名 highway.dev.com

    第二步:从秘钥库里导出证书

    keytool -export -trustcacerts -alias highway.dev -file E:\etc\cas\keystore\highway.dev.cer -keystore E:\etc\cas\keystore\highway.dev.keystore
    

    -export:表示执行导出操作,将证书导出到一个文件
    -trustcacerts:表示导出的证书应该包含完整的证书链,并且可以被信任
    -alias highway.dev:表示要导出的证书的别名,这里的别名是 "highway.dev"
    -file E:\etc\cas\keystore\highway.dev.cer:表示导出的证书应该保存到指定的文件路径(E:\etc\cas\keystore\highway.dev.cer)
    -keystore E:\etc\cas\keystore\highway.dev.keystore:表示要从指定的密钥库(E:\etc\cas\keystore\highway.dev.keystore)中导出证书。

    第三步:将证书导入到JDK证书库

    keytool -import -trustcacerts -alias highway.dev -file E:\etc\cas\keystore\highway.dev.cer -keystore "D:\Program Files\Java\jdk1.8.0_231\jre\lib\security\cacerts"
    

    -import:表示执行导入操作,即将证书导入到指定的信任证书库中
    -trustcacerts:表示将证书导入到信任的 CA 证书库中,以便将其视为受信任的证书
    -alias highway.dev:指定要分配给导入证书的别名,这里的别名是 "highway.dev"
    -file E:\etc\cas\keystore\highway.dev.cer:指定要导入的证书文件的路径(E:\etc\cas\keystore\highway.dev.cer)
    -keystore "D:\Program Files\Java\jdk1.8.0_231\jre\lib\security\cacerts":指定要将证书导入的信任证书库的路径,这里是 Java 安装目录中的 cacerts 文件

    密码:changeit

    第四步:Tomcat配置https支持

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="E:\etc\cas\keystore\highway.dev.keystore"
    keystorePass="mypassword"/>
    

    参考命令

    查看证书列表:keytool -list -keystore cacerts
    查看单个证书:keytool -list -keystore cacerts -alias akazam_email
    删除证书:keytool -delete -alias akazam_email -keystore cacerts
    导入证书:keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts

    请注意,在生产环境中,建议获取由公信任的证书颁发机构(CA)签发的SSL证书,而不是使用自签名证书。这样可以确保浏览器和客户端能够正确地验证你的网站身份,并获得更高的安全性和可信度。

    end
  1. 作者: 锋哥 (联系作者)
  2. 发表时间: 2023-12-28 09:11
  3. 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  4. 转载声明:如果是转载博主转载的文章,请附上原文链接
  5. 公众号转载:请在文末添加作者公众号二维码(公众号二维码见右边,欢迎关注)
  6. 评论

    站长头像 知录

    你一句春不晚,我就到了真江南!

    文章0
    浏览0

    文章分类

    标签云