keytool生成keystore、truststore、证书

简介: 使用JDK生成证书
  • 打开cmd命令行,进入文件夹(如:D:\test_icessl_key)。keytool会把接下来生成的所有文件都保存到此处。
  • keystore以及服务器密钥对儿的生成,输入:
keytool -genkeypair -keyalg RSA -dname "cn=huangmin,ou=exc,o=智能研究院,l=深圳,st=广东,c=CN" -alias icesslkey -validity 365 -keystore exckeystore.jks -storepass exc-ledznyjy20190710 -keypass exc-ledznyjy20190710

-keystore 后面是要生成的文件的名称 icekeystore.jks

-keypass mypassword 此处”mypassword “为本条目的密码(私钥的密码)。最好与storepass一致。

-storepass mypassword 此处”mypassword “为证书库密码(私钥的密码)。最好与keypass 一致。

这里是生成ftp服务器所需要的keystore文件的命令


这条命令会在生成keystore后接着生成一个密钥对儿。RSA是非对称密钥算法,也可以改为keytool支持的其他密钥算法,365代表的是证书的有效期,可以自己指定,icekeystore.jks是keystroe的名称,也可以自己指定。

补充:输入的主密码,是指生成服务端证书的私钥。服务端私钥如果和keystore的相同的话,直接按回车。建议直接按回车,即服务端私钥和keystore的密码相同。

3.导出公钥证书

下面的命令可以导出自签公钥证书:

keytool -export -alias icesslkey -keystore icekeystore.jks -rfc -file icecert.cer -storepass 834834

其中icecert.cer是导出证书的名称,可以随便起个名字,icekeystore.jks是2中生成的keystore 文件。

执行上面的命令会要求输入icekeystore的密码,会显示以下信息,如下图。

  1. truststore的生成以及公钥证书的导入

把4生成的公钥证书icecert.cer导入到truststore中

keytool -import -alias icesslkey -file icecert.cer -keystore icetruststore.jks -storepass 834834 -keypass 834834

icecert.cer是4导出的公钥证书,icetruststore.jks可以随便起,是生成的truststore的文件名。这条命令首先会生成一个truststore,然后导入4生成的公钥证书icecert.cer。

执行keytool -import -alias icesslkey -file icecert.cer -keystore icetruststore.jks后,首先会提示输入truststore的密码,如下图:

  1. 验证5生成的truststore文件
keytool -list -v -keystore icetruststore.jks

icetruststore.jks是5生成的truststore文件名。

JDK中ketyTool常用命令:

-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书,(默认情况下,keystore会存在用户系统默认目录,如:win系统,会生成在C:\Documents and Settings\用户名\文件名为“.keystore”)

-alias 产生别名(default:mykey,每个keystore都关联这一个独一无二的alias,不区分大小写)

-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)

-keyalg 指定密钥的算法 (如RSA、DSA,default:DSA)

-validity 指定创建的证书有效期多少天(default:90)

-keysize 指定密钥长度(default:1024,范围:512 ~ 1024)

-storepass 指定密钥库的密码(获取keystore信息所需的密码)

-keypass 指定别名条目的密码(私钥的密码)

-dname 指定证书拥有者信息

例如: "CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"

-list 显示密钥库中的证书信息

keytool -list -v -keystore 指定keystore -storepass 密码 -v 显示密钥库中的证书详细信息

-export 将别名指定的证书导出到文件

keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码

-delete 删除密钥库中某条目

keytool -delete -alias 指定需删除的keystore别名 -keystore 指定keystore -storepass 密码

-printcert 查看导出的证书信息

keytool -printcert -file yushan.crt

-keypasswd 修改密钥库中指定条目口令

keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore sage

-storepasswd 修改keystore口令

keytool -storepasswd -keystore e:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)

-import 将已签名数字证书导入密钥库

keytool -import -alias 别名 -keystore指定keystore -file需导入的证书

参考博客:

https://blog.csdn.net/luoyongsir/article/details/54929288

https://blog.csdn.net/xiaohai0504/article/details/7598178

https://www.cnblogs.com/f1194361820/p/4266511.html

目录
相关文章
|
消息中间件 Kafka 网络安全
kafka SSL证书生成及配置
apache kafka可以使用SSL加密连接,还可以限制客户端访问, 给客户端发行证书,只允许持有证书的客户端访问。 下面使用jdk的keytool工具来生成证书,配置kafka。
5693 0
|
消息中间件 存储 运维
云消息队列 Kafka 版全面升级:经济、弹性、稳定,成本比自建最多降低 82%
本文介绍了阿里云云消息队列 Kafka 版的全面升级,强调了其在经济性、稳定性和弹性方面的显著提升。同时,与 Apache Kafka 相比,云消息队列 Kafka 版通过节省 66% 的资源,实现了客户使用成本比自建最多降低 82%。
605 102
|
数据安全/隐私保护
APP备案使用证书查看公钥和md5
【10月更文挑战第19天】首先有了一个证书,文件后缀是keystore
1578 13
APP备案使用证书查看公钥和md5
|
Android开发 Java 数据安全/隐私保护
「移动端」Android平台签名证书(.keystore)生成指南
发布Android APK需签名证书,步骤如下: 1. 安装JRE,如[JRE8](https://www.oracle.com/technetwork/java/javase/downloads/index.html),并添加到环境变量。 2. 使用`keytool -genkey`命令生成证书,例如: ``` keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore ``` 输入相关个人信息及密码。
2119 0
「移动端」Android平台签名证书(.keystore)生成指南
|
存储 Java 数据安全/隐私保护
Java 生成证书:使用 keytool
Java 生成证书:使用 keytool
|
Java 应用服务中间件 网络性能优化
Java 生成证书:使用 OpenSSL
Java 生成证书:使用 OpenSSL
|
JSON 监控 Java
Java中如何解决JsonProcessingException异常?
Java中如何解决JsonProcessingException异常?
|
消息中间件 Java Kafka
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka Streams的集成
|
数据可视化 物联网 程序员
使用webgl(three.js)搭建一个3D智慧园区、3D建筑,3D消防模拟,web版3D,bim管理系统——第四课(炫酷版一)
3d建筑,3d消防,消防演习模拟,3d库房,3d档案室,3d密集架,webGL,threejs,3d机房,bim管理系统
6080 0
|
缓存 编解码 数据处理
Web Worker:让网页飞起来的幕后英雄(上)
Web Worker:让网页飞起来的幕后英雄(上)
Web Worker:让网页飞起来的幕后英雄(上)