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

目录
相关文章
|
2月前
|
Java 数据安全/隐私保护
6-22|keytool如何将jks转化为pfx
6-22|keytool如何将jks转化为pfx
|
6月前
|
存储 弹性计算 运维
生成自签名私钥和证书
【4月更文挑战第29天】
69 1
|
6月前
keytool工具生成jks证书
keytool工具生成jks证书
61 0
|
安全 Windows
使用jks文件为apk签名
使用jks文件为apk签名
313 0
|
6月前
|
Java iOS开发 MacOS
使用JDK自带的keytool工具生成签名文件
使用JDK自带的keytool工具生成签名文件
56 0
JDK的生成keytool证书
JDK的生成keytool证书
|
Java Android开发
命令行生成Android jks签名文件并获取jks信息
命令行生成Android jks签名文件并获取jks信息
574 0
|
Web App开发 算法 安全
详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用
详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用
1450 0
详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用
|
存储 算法 Java
使用keytool 生成证书
keytool 简介 keytool 是java 用于管理密钥和证书的工具,官方文档其功能包括: 创建并管理密钥 创建并管理证书 作为CA 为证书授权 导入导出证书 主要格式keytool 采用 keystore 文件来存储密钥及证书,其中可包括私钥、信任证书;keystor...
7603 0