Java 生成 Https 证书
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 证书相关推荐
- java生成Https证书,及证书导入的步骤和过程
原文参考:http://www.cnblogs.com/fron/p/https-20170111.html 以下是相关的Tomcat,JDK和Windows环境: Tomcat版本:tomcat-7 ...
- java 生成https证书_java生成Https证书,及证书导入的步骤和过程
原文参考:http://www.cnblogs.com/fron/p/https-20170111.html 以下是相关的Tomcat,JDK和Windows环境: Tomcat版本:tomcat-7 ...
- window生成https证书
window生成https证书 参考:https://blog.csdn.net/qq_36279445/article/details/79447512 最近研究webrtc,这个只能localho ...
- Linux下生成HTTPS证书申请与颁发方法
Linux下生成HTTPS证书申请与颁发方法: (1)生成HTTPS证书,可以使用openssl生成服务器RSA密钥及证书,生成的命令如下: openssl genrsa -des3 -out ser ...
- Java生成荣誉证书PDF文件
公司最近新需求要针对已经学完课程的同学提供下载结业证书,我们开发小组通过内部协商最终采用pdf方式让用户进行下载.操作pdf java 一般都是通过itext来实现,由于之前没有使用itext生成pd ...
- Java生成SSL证书
1. 背景 2. 演示环境 3. 命令 4. 创建证书 5. 查看证书 5.1. 显示详细 5.2. 编码打印 6. 导入导出证书 6.1. 导出 6.2. 导入 7. 修改密码 7.1. 修改密钥库 ...
- 生成HTTPS证书及使用
生成证书和秘钥 使用JDK7的keytool工具生成 转到JDK的安装目录下的bin,如/usr/java/jdk1.7.0_79/bin 生成非对称密钥 keytool -genkeypair -v ...
- 免费生成https证书以及配置
http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案 第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务 //确定是否安装openss ...
- 使用certbot生成https证书
目录 背景 全部操作步骤概览 1.打开https://certbot.eff.org 2.选择自己用的什么软件并且是什么操作系统 3.查看操作步骤 实战细节 安装snap 安装Certbot 生成证书 ...
最新文章
- R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
- 备忘:C语言void *
- Eclipse 创建 Java 包
- bash--shell高级编程-特殊字符
- 怎么看到方法内引用方法的注释_网页内文字无法复制怎么办?一分钟看懂这些方法,让你随意复制...
- 发布后网站浏览时出现乱码
- 成年人改变生活的方式,都是从它开始
- coreos 安装 mysql_kubernetes下安装mysql
- Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
- 数据结构实践项目——图的基本运算及遍历操作
- 图论:有源汇有上下界最小流
- java面试题(仅供参考)
- big_6d77fbb7bde4011fdf01df45fef8d0dd9ddcbdd5.jpg
- java-web6-Servlet知识
- python hook微信_GitHub - 15993248973/wechathook: 借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取...
- React路由管理 —— React Router 总结
- php简单论坛登录注册,php登录注册求救
- 【论文分享】小样本图片分类方法:AwGCN:Few-Shot Learning With Attention-Weighted Graph Convolutional Networks
- CDA数据分析师认证与Pearson VUE达成深度合作
- 数字取证二 熟练掌握鉴证大师 了解NTFS分析、LogFile文件使用和USN日志分析