目录

■前言

1.创建证书

2.查看创建的证书内容

查看证书详细信息

查看证书指纹

3.使用

配置SpringBoot工程

application.properties

放置证书(.keystore)

可以使用的URL

访问效果

Chrome

IE

证书在IE中的显示

4.遇到的问题

端口被占用

浏览器不识别的SSL协议

IE 显示的情报

Google 显示的情报

查看浏览器协议支持

■消除证书中的警告

■扩展JDK下,已经安装的证书查看

■扩展,JDK添加证书的信任机构


■前言

HTTPS,在HTTP下加入SSL层

SSL(Secure Sockets Layer,安全套接层)

使用SSL首先需要一个证书

---

1.创建证书

keytool -genkey -alias myTomcat

---

keytool -genkey -alias myTomcat -keypass tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore C:\test\keystoreRSA\.keystore -storepass tomcat

----

密码使用tomcat

---

---

2.查看创建的证书内容

---

查看证书详细信息

c:\test\keystoreRSA>keytool -list -v -keystore .keystore -storepass tomcat
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目别名: mytomcat
创建日期: 2021-5-23
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=sss, OU=aaa, O=aaaaaa, L=ddd, ST=dddddd, C=ccc
发布者: CN=sss, OU=aaa, O=aaaaaa, L=ddd, ST=dddddd, C=ccc
序列号: 7bafa46e
有效期为 Sun May 23 22:21:27 CST 2021 至 Mon May 23 22:21:27 CST 2022
证书指纹:MD5:  9E:CF:A8:71:5B:ED:4C:EA:6F:69:9A:7B:9B:BF:82:40SHA1: CE:B8:BD:B9:E7:71:0A:25:39:12:B1:3C:67:FF:F2:32:CC:05:07:7CSHA256: C2:9E:A2:65:ED:64:42:C6:26:C9:71:D4:F1:C1:C3:76:C8:43:89:BE:C3:0B:85:03:70:62:4D:49:8F:7A:60:8F
签名算法名称: SHA256withRSA
主体公共密钥算法: 1024 位 RSA 密钥
版本: 3扩展:#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 9D D7 16 6A F7 3A 0C 02   AB C8 08 E6 E3 27 48 C0  ...j.:.......'H.
0010: 54 1C AA F4                                        T...
]
]*******************************************
*******************************************Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore .keystore -destkeystore .keystore -deststoretype pkcs12" 迁移到行 业标准格式 PKCS12。c:\test\keystoreRSA>

---

查看证书指纹

c:\test\keystoreRSA>keytool -list  -keystore .keystore -storepass tomcat
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目mytomcat, 2021-5-23, PrivateKeyEntry,
证书指纹 (SHA1): CE:B8:BD:B9:E7:71:0A:25:39:12:B1:3C:67:FF:F2:32:CC:05:07:7CWarning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore .keystore -destkeystore .keystore -deststoretype pkcs12" 迁移到行 业标准格式 PKCS12。c:\test\keystoreRSA>

3.使用

配置SpringBoot工程

https://blog.csdn.net/sxzlc/article/details/116612564

application.properties

server.port=443
server.ssl.key-store: .keystore
server.ssl.key-store-password: tomcat
server.ssl.keyStoreType: JKS
server.ssl.keyAlias: myTomcat

放置证书(.keystore)

启动log

.   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::        (v2.1.6.RELEASE)2021-05-23 22:34:25.101  INFO 11616 --- [           main] s.c.S.HelloWorldMainApplication          : Starting HelloWorldMainApplication on PC_NAME with PID 11616 (C:\dev\SpringBootHelloWorld\target\classes started by login_UserName in C:\dev\SpringBootHelloWorld)
2021-05-23 22:34:25.105  INFO 11616 --- [           main] s.c.S.HelloWorldMainApplication          : No active profile set, falling back to default profiles: default
2021-05-23 22:34:26.219  INFO 11616 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 443 (https)
2021-05-23 22:34:26.257  INFO 11616 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-05-23 22:34:26.257  INFO 11616 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.21]
2021-05-23 22:34:26.350  INFO 11616 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-05-23 22:34:26.350  INFO 11616 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1208 ms
2021-05-23 22:34:26.525  INFO 11616 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-05-23 22:34:26.608  INFO 11616 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [static/index.html]
2021-05-23 22:34:27.069  INFO 11616 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 443 (https) with context path ''
2021-05-23 22:34:27.073  INFO 11616 --- [           main] s.c.S.HelloWorldMainApplication          : Started HelloWorldMainApplication in 2.284 seconds (JVM running for 2.717)
2021-05-23 22:34:38.353  INFO 11616 --- [-nio-443-exec-7] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-05-23 22:34:38.353  INFO 11616 --- [-nio-443-exec-7] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-05-23 22:34:38.365  INFO 11616 --- [-nio-443-exec-7] o.s.web.servlet.DispatcherServlet        : Completed initialization in 12 ms

可以使用的URL

---

https://localhost/

---

https://localhost/index.html

---

https://localhost/hello

---

访问效果

Chrome

IE

证书在IE中的显示

---

----

4.遇到的问题

端口被占用

netstat -ano | find "443"
taskkill /pid 7572 /F

浏览器不识别的SSL协议

---

IE 显示的情报

无法安全地连接到此页面

这可能是因为该站点使用过期的或不安全的 TLS 安全设置。如果这种情况持续发生,请与网站的所有者联系。

---

Google 显示的情报

localhost 使用了不受支持的协议。

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

---

查看浏览器协议支持

https://myssl.com/myclient.html

---

参考解决1 NG

https://blog.csdn.net/u013255226/article/details/83416003

参考解决2 NG

https://blog.csdn.net/qq_33758347/article/details/87795428

参考解决3 OK 生成证书时,指定更多信息

https://blog.csdn.net/aiyo92/article/details/87863426

■消除证书中的警告

---

c:\>keytool -importkeystore -srckeystore c:\test\keystoreRSA\.keystore -destkeystore c:\test\keystoreRSA\.keystore -deststoretype pkcs12
输入源密钥库口令:
已成功导入别名 mytomcat 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消Warning:
已将 "c:\test\keystoreRSA\.keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "c:\test\keystoreRSA\.keystore.old" 进行了备份。c:\>

---

---

c:\>cd c:\test\keystoreRSAc:\test\keystoreRSA>keytool -list -v -keystore .keystore -storepass tomcat
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目别名: mytomcat
创建日期: 2021-5-24
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=sss, OU=aaa, O=aaaaaa, L=ddd, ST=dddddd, C=ccc
发布者: CN=sss, OU=aaa, O=aaaaaa, L=ddd, ST=dddddd, C=ccc
序列号: 7bafa46e
有效期为 Sun May 23 22:21:27 CST 2021 至 Mon May 23 22:21:27 CST 2022
证书指纹:MD5:  9E:CF:A8:71:5B:ED:4C:EA:6F:69:9A:7B:9B:BF:82:40SHA1: CE:B8:BD:B9:E7:71:0A:25:39:12:B1:3C:67:FF:F2:32:CC:05:07:7CSHA256: C2:9E:A2:65:ED:64:42:C6:26:C9:71:D4:F1:C1:C3:76:C8:43:89:BE:C3:0B:85:03:70:62:4D:49:8F:7A:60:8F
签名算法名称: SHA256withRSA
主体公共密钥算法: 1024 位 RSA 密钥
版本: 3扩展:#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 9D D7 16 6A F7 3A 0C 02   AB C8 08 E6 E3 27 48 C0  ...j.:.......'H.
0010: 54 1C AA F4                                        T...
]
]*******************************************
*******************************************c:\test\keystoreRSA>

---

c:\test\keystoreRSA>keytool -list  -keystore .keystore -storepass tomcat
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目mytomcat, 2021-5-24, PrivateKeyEntry,
证书指纹 (SHA1): CE:B8:BD:B9:E7:71:0A:25:39:12:B1:3C:67:FF:F2:32:CC:05:07:7Cc:\test\keystoreRSA>

---

■扩展JDK下,已经安装的证书查看

1.cacerts文件没有被修改

cd c:\Program Files\Java\jre1.8.0_191\lib\security

2.查看证书指纹

keytool -list  -keystore cacerts -storepass changeit

--

3.查看证书详细信息

keytool -list -v -keystore cacerts -storepass changeit 

---

---

■扩展,JDK添加证书的信任机构

加入JDK证书信任,C:\Program Files\Java\jre1.8.0_191\lib\security>目录下运行命令:keytool -import -alias cacert -keystore cacerts -file 盘:目录/证书文件.crtkeystore的默认密码“changeit”

---

使用JDK中的 keytool【创建证书】・【查看】・【使用】相关推荐

  1. 【ssl认证、证书】SSL双向认证java实战、keytool创建证书

    文章目录 概述 keytool示例 参考 相关文章: //-----------Java SSL begin---------------------- [ssl认证.证书]SSL双向认证和SSL单向 ...

  2. 使用JDK自带keytool生成证书

    JDK keytool 的介绍 keytool 是JDK 自带的可以生成证书的工具,只要安装JDK 并且配置好相应的环境变量,就可以直接用CMD 命令窗口使用(本文中使用JDK1.8). C:\> ...

  3. JDK 中的证书生成和管理工具 keytool

    参考网址:http://www.cnblogs.com/youxia/p/java002.html 阅读目录 参考资料 网络安全概论 使用keytool创建和管理证书 总结 参考资料 该文中的内容来源 ...

  4. GBase 8d证书查看

    证书查看器是从GBase XDM Server中查看当前条目的证书属性中查看证书. ※首先选中证书属性,可以通过以下的任意一种方式开始"证书查看器"操作: ·从"工具&q ...

  5. java中Keytool生成证书

    任何机构或者个人都可以申请数字证书,并使用数字证书对网络通信保驾护航.要获得数字证书,首先需要使用数字证书管理工具,如keytool.OpenSSL等,然后构建CSR(Certificate Sigi ...

  6. 使用JDK自带的工具keytool生成证书

    1.以管理员身份,打开CMD命令窗口,输入如下命令,生成证书: Microsoft Windows [版本 10.0.17134.523] (c) 2018 Microsoft Corporation ...

  7. java 证书查看工具_程序员必备工具 Java证书工具Keytool的使用

    一.简介 Keytool是JDK自带的证书管理工具,在jdk/bin目录下,可以用来生成自签名证书.导入导出证书.打印证书信息等. 回顾下前一章的一些概念:PKI:公钥基础设施 X.509 : PKI ...

  8. 将https安全证书导入jdk中

    添加https安全证书 添加https安全证书 生成证书 导出证书 将证书导入jdk中 查看添加到jdk中的所有证书 添加https安全证书 以下是我在linux上安装mysql5.7版本的步骤以及遇 ...

  9. 下载安全证书到jdk中的cacerts证书库

    最近在公司遇到访问https请求,JDK返回异常信息的问题.返回如下: java.lang.Exception: java.lang.Exception: sun.security.validator ...

最新文章

  1. yolo类检测算法解析——yolo v3
  2. python数据拼接: pd.concat
  3. Character.isLetterOrDigit(ch)判断ch是否为字母或数字
  4. java 栈 泛型_java 泛型栈(数组实现) | 学步园
  5. c# 遍历文件夹深度_C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)...
  6. 快速查找Unity中的死循环
  7. python抓取qq群消息,python 爬取qq群员信息
  8. 益聚星荣:一文看懂,为什么有的投资人讨厌元宇宙,有的却爱死它了
  9. 怀旧服ouf头像插件_魔兽世界7.0前夕ShadowedUF简洁头像插件
  10. arcgis制作超链接
  11. AutoCAD.NET实现CAD截图
  12. n条线段可以组成多少种三角形
  13. random.seed()的用法
  14. 系统硬盘分区模式之GPT
  15. CorelDRAW平面设计标准教程免费视频教程
  16. ASP.NET控件集合
  17. 进程上下文与线程上下文
  18. 海思YOLOv3 wk模型在nnie设备上面推理
  19. linux② 常用命令 , python3, django安装
  20. python国防_Python+Excel数据分析实战:军事体能考核成绩评定(八)体型评定

热门文章

  1. html5 input选择文件,input文件选择,限定文件类型。
  2. java pattern堆栈溢出_我的正则表达式导致Java中的堆栈溢出;我错过了什么?
  3. oracle 12c 性能,Oracle 12C 新性能 总结篇
  4. activiti jsp 流程设计器_「Activiti精品 悟纤出品」Activiti插件来助你一臂之力 - 第327篇...
  5. Observable与Observer
  6. 金融行业文档管理系统的八大创新
  7. nodejs应用在linux服务器中的部署
  8. OSChina 周日乱弹 ——可以囤硬盘了
  9. 起点文学网ViewState解码分析后的结果研究
  10. Andriod UI设计之度量单位说明(DIP,DP,PX,SP)