Keytool简单使用

Keytool是一个Java数据证书的管理工具。

keystore

  • Keytool将秘钥(key)和证书(certificates)存在名为keystore的文件中。
  • keystore中有两种数据
  1. 秘钥实体(key entity),私钥+公钥
  2. 可信的证书实体(trusted certificate entries),公钥
  • alias别名,不区分大小写。keystore下又若干别名条目

常用命令

  • -genkey: 在用户主目录中创建一个默认文件.keystore,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书。没有指定目录,会生成在默认目录下。
  • -alias: 产生别名
  • -keystore: 指定秘钥库的名称。加上此命令,生成的各类信息将不在.keystore文件中
  • -keyalg: 指定秘钥的算法,默认DSA,可以设置成RSA
  • -validity: 创建的证书有效期是多少天
  • -keysize: 指定秘钥长度
  • -storepass: 指定秘钥库的访问密码(查看秘钥库内容需要)
  • -keypass: 指定别名条目的密码(私钥的密码)
  • -dname: 指定证书拥有者的信息CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码
  • -list: 显示密钥库中的证书信息,例如keytool -list -v -keystore, -storepass指定密码
  • -v: 显示秘钥库中的证书详细信息
  • -export: 将别名指定的证书导出到文件,-alias指定导出的别名,-keystore指定keystore,-file指定导出证书的位置及证书名称,-storepass密码
  • -file: 指定导出文件的文件名
  • -delete: 删除秘钥库中某条目,keytool -delete -alias指定删除的别名
  • -printcert: 查看导出的证书信息keytool -printcert -file xxx.crt查看导出的证书信息
  • -keypasswd: 修改秘钥库中指定条目口令,-keypasswd -alias指定需要修改的别名,-keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore xxx
  • -storepasswd: 修改keystore口令,-storepasswd -keystore e:\sture.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new 321(新密码)
  • -import: 将签名数字证书导入秘钥库keytool -import -alias指定导入条目的别名 -keystore-file指定导入的证书

例子

  • 生成keystore
    keytool -genkey -v -alias broker -keyalg RSA -keystore broker.keystore -storepass brokerPwd -keypass brokerKeyPwd

  • 查看keystore
    keytool -list -v -keystore broker.keystore

  • keystore导出成证书
    keytool -export -alias broker -keystore broker.keystore -file borker_cert -storepass brokerPwd

  • 导入证书到truststore
    keytool -import -v -file borker_cert -keystore client.truststore -storepass clientTrustPwd

  • jksp12

keytool -importkeystore -srckeystore keyStore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore keyStore.p12

你可能感兴趣的:(Keytool简单使用)