http://blog.csdn.net/a0501bqzhxy/article/details/6052463
Java Keytool 常用命令使用帮助
Keytool 是用于管理密钥和证书的工具,使用户和管理员能管理自己的公 / 私钥对以及相关的证书。
— genkey ,用于生成公 / 私密钥对
keytool –genkey –alias mykey –keyalg RSA –keypass 123456 –keystore keystore.jks –storepass 123456
ˉkeyalg: 指定密钥使用的加密算法(如 RSA )。还可以使用选项 keysize 指定密钥的长度,如果没有指定长度,那么 keytool 将使用默认值 ———1024 位。
ˉkeypass: 指定生成密钥的密码。
ˉkeystore: 指定存储密钥的密钥库的名称(二进制文件),如果没有指定,那么将创建一个新的密钥库,并将其存储为 .keystore 文件。
ˉstorepass: 指定访问密钥库的密码。密钥库创建后,要对其做任何修改都必须提供该密码,以便访问密钥库。
在执行 -genkey 时还会要求用户输入以下几项数据
CN : commen name
OU : organization unit
O : organization
L : location
ST : state
C: country
其中 CN 服务器根证书的 ip 或者域名,即查看证书时的颁发给项
— list
用于列出密钥库中全部的项,以及查看与别名相关的项。
keytool –list –keystore keystore.jks
为了显示别名所指定的密钥库项的内容,命令 list 可以输出证书的 MD5 指纹。如果指定了选项 ˉv ,则证书将以人类可读的格式显示 ; 如果指定了选项 ˉrfc ,则将以 Base64 编码格式显示证书。
— import
导入可信证书。 Keytool 选项 ˉimport 用于将可信证书导入密钥库,并将其同唯一的一个别名联系起来。如果客户端信任通信等对体的证书,并希望与其进行可信的客户端交互,则可以在客户端环境中导入可信证书。
将新证书导入密钥库时, keytool 工具将验证该证书的完整性和真实性。为此, keytool 工具将构建一条以该证书开始到颁发者的自签名证书结束的信任链。可信证书的列表将存储在 cacerts 文件中。
要将证书导入密钥库,则需要提供标识证书项的唯一 别名和密钥密码。
例如,下面的命令从文件 cert.cer 中将一个证书项导入到密钥库 keystore.jks ,并将该证书项标识为 newcert,最后,该命令将显示证书的持有者和颁发者的信息,并询问用户是否信任该证书 。
keytool –import –alias newcert –file cert.cer –keystore keystore.jks
— printcert
显示证书的信息。 Keytool 选项 ˉprintcert 用于显示已从密钥库中导出并存储为文件的证书的信息。由于证书的信息是以证书文件( .cer )的形式存储的,且不会导入密钥库,因此在执行该命令时,不需要指定相关的密钥库和密码。
keytool –printcert –file cert.cer
— certReq
创建证书签发请求( CSR )。可以使用 Keytool 选项 ˉcertreq 来生成向 CA 申请证书的证书签发请求。
keytool –certReq –keystore keystore.jks –file mycsr.csr
— delete
删除密钥库。要删除密钥库,可以使用操作系统的删除命令来删除该密钥库文件。
修改密钥库的密码。
— storepasswd
要修改密钥库的密码,可以使用 keytool 选项 -storepasswd -new 来设置新密码。
keytool –storepasswd –new newpassword –keystore keystore.jks