Java 生成 Https 证书

简介

通过keytool后缀为.jks的https证书,用于调试项目使用。

实现

[生成] - 命令生成.jks文件

  • 直接在命令行中键入下面的命令
keytool -genkeypair -alias certificatekey -keyalg RSA -validity 365 -keystore shfqkeystore.jks
  • 键入后会提下,分别录入即可:
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?[Unknown]:  user-defined
您的组织单位名称是什么?[Unknown]:  user-defined
您的组织名称是什么?[Unknown]:  user-defined
您所在的城市或区域名称是什么?[Unknown]:  chaoyang
您所在的省/市/自治区名称是什么?[Unknown]:  bj
该单位的双字母国家/地区代码是什么?[Unknown]:  cn
CN=****, OU=***, O=***, L=chaoyang, ST=bj, C=cn是否正确?[否]:  y输入 <certificatekey> 的密钥口令(如果和密钥库口令相同, 按回车):
  • mac 会提示信息:
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore shfqkeystore.jks -destkeystore shfqkeystore.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

我先不管这些信息,继续往下做

  • 命令详解
    keytool -genkeypair -alias certificatekey -keyalg RSA -validity 365 -keystore shfqkeystore.jks
    生成keystore后接着生成一个密钥对儿。RSA是非对称密钥算法,也可以改为 keytool支持的其他密钥算法,365代表的是证书的有效期,可以自己指定,shfqkeystore.jks是keystroe的名称,也可以自己指定。打开cmd命令行。

[验证] - jks是否可以用

  • 键入命令行验证
keytool -list -v -keystore shfqkeystore.jks
  • 响应信息
输入密钥库口令:
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目别名: certificatekey
创建日期: 2019-1-28
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=****, OU=****, O=****, L=chaoyang, ST=bj, C=cn
发布者: CN=****, OU=****, O=****, L=chaoyang, ST=bj, C=cn
序列号: 1aad9122
有效期为 Mon Jan 28 16:13:11 CST 2019 至 Tue Jan 28 16:13:11 CST 2020
证书指纹:MD5:  ************************************SHA1: ************************************SHA256: ************************************************************************
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: ED A3 DB DD AB 2A 66 21   AD AF D1 17 C9 FA 73 74  .....*f!......st
0010: BB C1 1D 0A                                        ....
]
]

[导出] - 导出公钥证书

  • 键入命令
keytool -export -alias certificatekey -keystore shfqkeystore.jks -rfc -file shfqcert.cer
  • 命令详解
    其中shfqcert.cer是导出证书的名称,可以随便起个名字,shfqkeystore.jks是[验证] - jks是否可以用中生成的keystore 文件。

[导入] - Truststore的生成以及公钥证书的导入

把上一步生成的公钥证书shfqcert.cer导入到truststore中。

  • 键入命令
keytool -import -alias certificatekey -file shfqcert.cer  -keystore shfqtruststore.jks
  • 响应信息
输入密钥库口令:
再次输入新口令:
所有者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
发布者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
序列号: 1aad9122
有效期为 Mon Jan 28 16:13:11 CST 2019 至 Tue Jan 28 16:13:11 CST 2020
证书指纹:MD5:  ************************************SHA1: ************************************SHA256: ************************************************************************
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: ED A3 DB DD AB 2A 66 21   AD AF D1 17 C9 FA 73 74  .....*f!......st
0010: BB C1 1D 0A                                        ....
]
]是否信任此证书? [否]:  y
证书已添加到密钥库中
  • 命令详解
    shfqcert.cer是4导出的公钥证书,shfqtruststore.jks可以随便起,是生成的truststore的文件名。这条命令首先会生成一个truststore,然后导入[导出] - 导出公钥证书生成的公钥证书shfqcert.cer。

[验证] - 验证truststore文件

  • 键入命令
keytool -list -v -keystore shfqtruststore.jks
  • 响应信息
输入密钥库口令:
密钥库类型: jks
密钥库提供方: SUN您的密钥库包含 1 个条目别名: certificatekey
创建日期: 2019-1-28
条目类型: trustedCertEntry所有者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
发布者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
序列号: 1aad9122
有效期为 Mon Jan 28 16:13:11 CST 2019 至 Tue Jan 28 16:13:11 CST 2020
证书指纹:MD5:  ********************************SHA1: ********************************SHA256: ****************************************************************
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: ED A3 DB DD AB 2A 66 21   AD AF D1 17 C9 FA 73 74  .....*f!......st
0010: BB C1 1D 0A                                        ....
]
]
  • 命令详解
    shfqtruststore.jks是生成的truststore文件名。

Java 生成 Https 证书相关推荐

  1. java生成Https证书,及证书导入的步骤和过程

    原文参考:http://www.cnblogs.com/fron/p/https-20170111.html 以下是相关的Tomcat,JDK和Windows环境: Tomcat版本:tomcat-7 ...

  2. java 生成https证书_java生成Https证书,及证书导入的步骤和过程

    原文参考:http://www.cnblogs.com/fron/p/https-20170111.html 以下是相关的Tomcat,JDK和Windows环境: Tomcat版本:tomcat-7 ...

  3. window生成https证书

    window生成https证书 参考:https://blog.csdn.net/qq_36279445/article/details/79447512 最近研究webrtc,这个只能localho ...

  4. Linux下生成HTTPS证书申请与颁发方法

    Linux下生成HTTPS证书申请与颁发方法: (1)生成HTTPS证书,可以使用openssl生成服务器RSA密钥及证书,生成的命令如下: openssl genrsa -des3 -out ser ...

  5. Java生成荣誉证书PDF文件

    公司最近新需求要针对已经学完课程的同学提供下载结业证书,我们开发小组通过内部协商最终采用pdf方式让用户进行下载.操作pdf java 一般都是通过itext来实现,由于之前没有使用itext生成pd ...

  6. Java生成SSL证书

    1. 背景 2. 演示环境 3. 命令 4. 创建证书 5. 查看证书 5.1. 显示详细 5.2. 编码打印 6. 导入导出证书 6.1. 导出 6.2. 导入 7. 修改密码 7.1. 修改密钥库 ...

  7. 生成HTTPS证书及使用

    生成证书和秘钥 使用JDK7的keytool工具生成 转到JDK的安装目录下的bin,如/usr/java/jdk1.7.0_79/bin 生成非对称密钥 keytool -genkeypair -v ...

  8. 免费生成https证书以及配置

    http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案   第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务   //确定是否安装openss ...

  9. 使用certbot生成https证书

    目录 背景 全部操作步骤概览 1.打开https://certbot.eff.org 2.选择自己用的什么软件并且是什么操作系统 3.查看操作步骤 实战细节 安装snap 安装Certbot 生成证书 ...

最新文章

  1. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
  2. 备忘:C语言void *
  3. Eclipse 创建 Java 包
  4. bash--shell高级编程-特殊字符
  5. 怎么看到方法内引用方法的注释_网页内文字无法复制怎么办?一分钟看懂这些方法,让你随意复制...
  6. 发布后网站浏览时出现乱码
  7. 成年人改变生活的方式,都是从它开始
  8. coreos 安装 mysql_kubernetes下安装mysql
  9. Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
  10. 数据结构实践项目——图的基本运算及遍历操作
  11. 图论:有源汇有上下界最小流
  12. java面试题(仅供参考)
  13. big_6d77fbb7bde4011fdf01df45fef8d0dd9ddcbdd5.jpg
  14. java-web6-Servlet知识
  15. python hook微信_GitHub - 15993248973/wechathook: 借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取...
  16. React路由管理 —— React Router 总结
  17. php简单论坛登录注册,php登录注册求救
  18. 【论文分享】小样本图片分类方法:AwGCN:Few-Shot Learning With Attention-Weighted Graph Convolutional Networks
  19. CDA数据分析师认证与Pearson VUE达成深度合作
  20. 数字取证二 熟练掌握鉴证大师 了解NTFS分析、LogFile文件使用和USN日志分析

热门文章

  1. excel 使用公式将数据列转sql语句
  2. oracle高级—索引
  3. Echarts动态生成sin曲线
  4. 服务器性能测试工具 Nmon的安装及使用
  5. 北科计算机考研调剂,北京科技大学2019考研调剂工作通知(3月17日更新)
  6. MySQL启动报错1067(附排查解决方法)
  7. 项目管理工具(测试必知)
  8. sikuli python java_Sikuli 基于图形识别的自动化测试技术
  9. Office | 从指定页开始设置页眉和页脚 | office 2016
  10. JS实现浏览器打印(自动隐藏页眉和页脚)