keytool/JDK 秘钥证书工具用法解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keytool/JDK 秘钥证书工具用法解析相关的知识,希望对你有一定的参考价值。

keytool是一个基于jdk的秘钥证书工具;

在上一篇tomcat集成ssl中,我们使用了keytool生成了.keystore秘钥文件,此篇我们就来介绍下该工具。

先看下前篇的用法

1、keytool生成.keystore,密码及关键信息请自行补足

keytool -genkey -alias tomcat -keyalg RSA -keystore /home/tomcat/.keystore -dname "CN=***,OU=***,O=***,L=SHANGHAI,ST=SH,C=CN" -keypass *** -storepass *** -validity 3650

有效期10年,查看秘钥信息,需要输入密码   

keytool -list -v -keystore /home/tomcat/.keystore -storepass ***

安装jdk后,先开看下keytool -genkey有哪些参数

keytool -genkey -help
keytool -genkeypair [OPTION]...
Generates a key pair
Options:
 -alias <alias>                  alias name of the entry to process
 -keyalg <keyalg>                key algorithm name
 -keysize <keysize>              key bit size
 -sigalg <sigalg>                signature algorithm name
 -destalias <destalias>          destination alias
 -dname <dname>                  distinguished name
 -startdate <startdate>          certificate validity start date/time
 -ext <value>                    X.509 extension
 -validity <valDays>             validity number of days
 -keypass <arg>                  key password
 -keystore <keystore>            keystore name
 -storepass <arg>                keystore password
 -storetype <storetype>          keystore type
 -providername <providername>    provider name
 -providerclass <providerclass>  provider class name
 -providerarg <arg>              provider argument
 -providerpath <pathlist>        provider classpath
 -v                              verbose output
 -protected                      password through protected mechanism
Use "keytool -help" for all available commands

逐一解析下

 -alias <alias>                  赋予别名,eg.tomcat

 -keyalg <keyalg>                指定秘钥算法

 -keysize <keysize>              指定秘钥长度

 -sigalg <sigalg>                签名算法,eg.RSA

 -destalias <destalias>          目标别名

 -dname <dname>                  指定秘钥拥有者信息

 -startdate <startdate>          有效期开始时间

 -ext <value>                    X.509 扩展

 -validity <valDays>             秘钥有效期,eg.3650

 -keypass <arg>                  秘钥口令

 -keystore <keystore>            秘钥库名称

 -storepass <arg>                秘钥库口令

 -storetype <storetype>          秘钥库类型

 -providername <providername>    供方名称

 -providerclass <providerclass>  供方类名

 -providerarg <arg>              供方参数

 -providerpath <pathlist>        供方类路径

 -v                              证书详细信息

 -protected                      通过受保护的机制的口令


其他keytool命令解析

keytool

Key and Certificate Management Tool

Commands:

 -certreq            生成证书请求 Generates a certificate request

 -changealias        更改条目别名 Changes an entry‘s alias

 -delete             删除条目 Deletes an entry

 -exportcert         导出为证书 Exports certificate

 -genkeypair         生成秘钥对 Generates a key pair

 -genseckey          生成秘钥 Generates a secret key

 -gencert            根据证书请求生成证书 Generates certificate from a certificate request

 -importcert         导入证书或证书链 Imports a certificate or a certificate chain

 -importpass         导入证书密码 Imports a password

 -importkeystore     从其它密码库中导入秘钥 Imports one or all entries from another keystore

 -keypasswd          更改秘钥密码 Changes the key password of an entry

 -list               列出秘钥条目 Lists entries in a keystore

 -printcert          打印证书内容 Prints the content of a certificate

 -printcertreq       打印证书请求 Prints the content of a certificate request

 -printcrl           打印CRL文件内容 Prints the content of a CRL file

 -storepasswd        修改密码库口令 Changes the store password of a keystore


2016-9

以上是关于keytool/JDK 秘钥证书工具用法解析的主要内容,如果未能解决你的问题,请参考以下文章

如何配置tomcat证书

openssl用法详解

openssl用法详解

openssl用法详解

keytool常用操作

获取APK证书MD5、SHA1、SHA256等秘钥