Tomcat, Jre 证书相关
时间:2022-07-22
本文章向大家介绍Tomcat, Jre 证书相关,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. Tomcat中的证书
1.1 生成keystore
# 口令在生成证书时,需要使用
➜ keytool -genkeypair -alias cas.example.org -keyalg RSA -keystore ~/tomcat-8.5.keystore
输入密钥库口令: (123456)
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: cas.example.org
您的组织单位名称是什么?
[Unknown]: szl
您的组织名称是什么?
[Unknown]: zkld
您所在的城市或区域名称是什么?
[Unknown]: bj
您所在的省/市/自治区名称是什么?
[Unknown]: bj
该单位的双字母国家/地区代码是什么?
[Unknown]: bj
CN=cas.example.org, OU=szl, O=zkld, L=bj, ST=bj, C=bj是否正确?
[否]: y
输入 <cas.example.org> 的密钥口令
(如果和密钥库口令相同, 按回车):
1.2 添加至Tomcat
conf/server.xml
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="<path_to>/tomcat-8.5.keystore"
keystorePass="123456" />
1.3 生成证书
# 使用alias 跟keystore 想对应(关联)起来
➜ keytool -export -alias cas.example.org -keystore ~/tomcat-8.5.keystore -storepass 123456 -rfc -file ~/tomcat-8.5.cer
存储在文件 <tomcat-8.5.cer> 中的证书
1.4 查看证书
➜ keytool -printcert -v -file ~/tomcat-8.5.cer
所有者: CN=cas.example.org, OU=szl, O=zkld, L=bj, ST=bj, C=bj
发布者: CN=cas.example.org, OU=szl, O=zkld, L=bj, ST=bj, C=bj
序列号: 54095411
有效期开始日期: Wed Nov 15 11:52:28 CST 2017, 截止日期: Tue Feb 13 11:52:28 CST 2018
证书指纹:
MD5: A5:35:3D:E9:CC:EB:F2:31:A2:65:D1:C4:3D:C3:B3:FD
SHA1: 56:1B:44:E5:12:21:8B:7B:17:70:38:77:29:7F:50:B7:32:FC:D1:B9
SHA256: CE:61:6E:4A:AB:CC:85:39:E0:DE:F2:F4:6E:62:7E:9C:3F:C3:90:19:CE:B9:67:24:E8:43:B9:FE:25:0B:A6:5A
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 30 38 A9 1E 44 11 8C 5E D6 98 4B EB B8 C0 DA 61 08..D..^..K....a
0010: F5 87 DA AE ....
]
]
2. jre中的证书
2.1 添加证书
➜ sudo keytool -import -alias cas.example.org -file ~/tomcat.cer -keystore ~/jre/lib/security/cacerts -storepass changeit
所有者: CN=cas.example.org, OU=szl, O=zkld, L=bj, ST=bj, C=bj
发布者: CN=cas.example.org, OU=szl, O=zkld, L=bj, ST=bj, C=bj
序列号: 2dbfdc8e
有效期开始日期: Wed Nov 15 09:22:12 CST 2017, 截止日期: Tue Feb 13 09:22:12 CST 2018
证书指纹:
MD5: A3:51:27:7A:D6:35:F3:D9:A4:10:9D:FA:1E:81:30:EC
SHA1: 37:96:A6:6B:35:5F:89:B3:CD:B0:58:21:99:05:CE:F5:DE:5C:72:7E
SHA256: 04:56:06:3E:BB:28:2F:CB:1D:F7:D5:5E:41:89:34:30:76:DD:2F:18:27:54:4C:3E:C4:BD:EF:8F:73:12:72:DE
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 0D 9F 95 4C B9 8F CA 53 B7 A8 F9 1E E8 45 55 56 ...L...S.....EUV
0010: 9E 96 FA 0E ....
]
]
是否信任此证书? [否]: y
证书已添加到密钥库中
2.2 查看证书
➜ sudo keytool -list -keystore ~/jre/lib/security/cacerts -storepass changeit
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 106 个条目
cas.example.org, 2017-11-15, trustedCertEntry,
证书指纹 (SHA1): 37:96:A6:6B:35:5F:89:B3:CD:B0:58:21:99:05:CE:F5:DE:5C:72:7E
...
2.3 删除证书
➜ sudo keytool -delete -alias tomcat -keystore ~/jre/lib/security/cacerts -storepass changeit
- Docker系列教程17-默认bridge网络中配置DNS
- Docker系列教程16-network命令
- 【LEETCODE】模拟面试-206. Reverse Linked List
- Eslint检测出的问题如何自动修复
- 【LEETCODE】模拟面试-215. Kth Largest Element in an Array
- Docker系列教程15-Docker容器网络
- 数据挖掘
- Docker系列教程14-Docker数据持久化
- Docker 学习系列二之基本管理
- Docker系列教程13-Docker可视化管理工具
- Ubuntu 16.04 安装VNC
- 使用Feign实现Form表单提交
- Ubuntu 16.04 Install OpenCV
- Spring Cloud各组件调优参数
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spug - 轻量级自动化运维平台
- Callable/Future 使用及原理分析,Future .get()为啥能等待呢?
- 优雅的drop掉mysql库中1TB大表
- 《剑指offer》第19天:股票交易(校对)
- SwiftyUserDefaults-封装系统本地化的框架推荐
- “使用多target来构建大量相似App”,唐巧大神理论验证(附工程代码地址)
- 小结:Swift、OC语言中多target在代码中如何区分
- 点击按钮每次都能实现图片的旋转和切换(swift)
- 多线程之NSOperation小结
- 判断一个坐标点是否在封闭曲线内的方法(swift)
- OC循环方法推荐-块循环遍历(比for循环好用)
- oc工程中oc、swift混编代码打包成静态framework踩坑笔记
- alloc 和 init都做了什么验证。
- 回顾冒泡排序(新增优化代码)
- 计算输入的一句英文语句中单词数