zoukankan      html  css  js  c++  java
  • keytool的使用

    keytool的使用

    参考文档

    https://blog.csdn.net/weisong530624687/article/details/59112309
    
    使用 "keytool -help" 获取所有可用命令
    使用 "keytool -command_name -help" 获取 command_name 的用法
    
    D:	oolsjdkin>keytool --help
    密钥和证书管理工具
    
    命令:
    
     -certreq            生成证书请求
     -changealias        更改条目的别名
     -delete             删除条目
     -exportcert         导出证书
     -genkeypair         生成密钥对
     -genseckey          生成密钥
     -gencert            根据证书请求生成证书
     -importcert         导入证书或证书链
     -importpass         导入口令
     -importkeystore     从其他密钥库导入一个或所有条目
     -keypasswd          更改条目的密钥口令
     -list               列出密钥库中的条目
     -printcert          打印证书内容
     -printcertreq       打印证书请求的内容
     -printcrl           打印 CRL 文件的内容
     -storepasswd        更改密钥库的存储口令
    
    使用 "keytool -command_name -help" 获取 command_name 的用法
    
    D:	oolsjdkin>keytool -list -help
    keytool -list [OPTION]...
    
    列出密钥库中的条目
    
    选项:
    
     -rfc                            以 RFC 样式输出
     -alias <alias>                  要处理的条目的别名
     -keystore <keystore>            密钥库名称
     -storepass <arg>                密钥库口令
     -storetype <storetype>          密钥库类型
     -providername <providername>    提供方名称
     -providerclass <providerclass>  提供方类名
     -providerarg <arg>              提供方参数
     -providerpath <pathlist>        提供方类路径
     -v                              详细输出
     -protected                      通过受保护的机制的口令
    
    使用 "keytool -help" 获取所有可用命令
    
    D:	oolsjdkin>keytool -list -v -keystore D:	oolsjdkjrelibsecuritycacerts
    输入密钥库口令:
    
    *****************  WARNING WARNING WARNING  *****************
    * 存储在您的密钥库中的信息的完整性  *
    * 尚未经过验证!  为了验证其完整性, *
    * 必须提供密钥库口令。                  *
    *****************  WARNING WARNING WARNING  *****************
    
    密钥库类型: jks
    密钥库提供方: SUN
    
    您的密钥库包含 99 个条目
    
    别名: apache_maven2
    创建日期: 2019-9-27
    条目类型: trustedCertEntry
    
    所有者: CN=repo.maven.apache.org, O="Sonatype, Inc", L=Fulton, ST=MD, C=US
    发布者: CN=DigiCert SHA2 Secure Server CA, O=DigiCert Inc, C=US
    序列号: bd6b7c92659ce9ccf8f09d329614a60
    有效期为 Wed Jul 19 08:00:00 CST 2017 至 Thu Sep 03 20:00:00 CST 2020
    证书指纹:
             MD5:  CF:AB:3D:D2:D6:2A:74:BE:6B:F7:EA:65:5B:B5:F5:B8
             SHA1: 7A:C6:BF:D7:75:12:1F:73:56:D8:DE:C0:A8:C3:23:6F:24:B1:31:9D
             SHA256: 17:77:B1:86:BF:D4:CE:E0:58:08:37:C8:B6:14:B4:DF:92:90:3D:EF:8D:F4:80:A4:C3:F3:67:CB:81:47:FA:B0
    签名算法名称: SHA256withRSA
    主体公共密钥算法: 2048 位 RSA 密钥
    版本: 3
    
    扩展:
    
    #1: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
    AuthorityInfoAccess [
      [
       accessMethod: ocsp
       accessLocation: URIName: http://ocsp.digicert.com
    ,
       accessMethod: caIssuers
       accessLocation: URIName: http://cacerts.digicert.com/DigiCertSHA2SecureServerCA.crt
    ]
    ]
    
    #2: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: 0F 80 61 1C 82 31 61 D5   2F 28 E7 8D 46 38 B4 2C  ..a..1a./(..F8.,
    0010: E1 C6 D9 E2                                        ....
    ]
    ]
    
    D:	oolsjdkin>keytool -list -keystore D:	oolsjdkjrelibsecuritycacerts
    输入密钥库口令:
    
    *****************  WARNING WARNING WARNING  *****************
    * 存储在您的密钥库中的信息的完整性  *
    * 尚未经过验证!  为了验证其完整性, *
    * 必须提供密钥库口令。                  *
    *****************  WARNING WARNING WARNING  *****************
    
    密钥库类型: jks
    密钥库提供方: SUN
    
    您的密钥库包含 99 个条目
    
    apache_maven2, 2019-9-27, trustedCertEntry,
    证书指纹 (SHA1): 7A:C6:BF:D7:75:12:1F:73:56:D8:DE:C0:A8:C3:23:6F:24:B1:31:9D
    verisignclass2g2ca [jdk], 2016-8-25, trustedCertEntry,
    证书指纹 (SHA1): B3:EA:C4:47:76:C9:C8:1C:EA:F2:9D:95:B6:CC:A0:08:1B:67:EC:9D
    digicertassuredidg3 [jdk], 2016-8-25, trustedCertEntry,
    证书指纹 (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89
    

    创建秘钥库并添加条目

    keytool -genkeypair -alias xckey -keyalg RSA -keypass xuecheng -keystore E:mozq0store1xc.keystore -storepass xuechengkeystore
    
    D:	oolsjdkin>keytool -genkeypair -alias xckey -keyalg RSA -keypass xuecheng -keystore E:mozq0store1xc.keystore -storepass xuechengkeystore
    您的名字与姓氏是什么?
      [Unknown]:  liu
    您的组织单位名称是什么?
      [Unknown]:  liu
    您的组织名称是什么?
      [Unknown]:  liu
    您所在的城市或区域名称是什么?
      [Unknown]:  liu
    您所在的省/市/自治区名称是什么?
      [Unknown]:  liu
    该单位的双字母国家/地区代码是什么?
      [Unknown]:  liu
    CN=liu, OU=liu, O=liu, L=liu, ST=liu, C=liu是否正确?
      [否]:  y
    
    
    Warning:
    JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore E:mozq0store1xc.keystore -destkeystore E:mozq0store1xc.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
    

    查看秘钥库中条目

    keytool -list -keystore E:mozq0store1xc.keystore
    
    D:	oolsjdkin>keytool -list -keystore E:mozq0store1xc.keystore
    输入密钥库口令:
    密钥库类型: jks
    密钥库提供方: SUN
    
    您的密钥库包含 1 个条目
    
    xckey, 2019-10-24, PrivateKeyEntry,
    证书指纹 (SHA1): 8A:E1:53:1F:D7:E7:A9:00:C1:0D:9E:8B:2D:09:9C:49:78:B5:21:0B
    

    删除秘钥库中的条目

    D:	oolsjdkin>keytool -delete -alias xckey -keystore E:mozq0store1xc.keystore
    输入密钥库口令:
    密钥库口令太短 - 至少必须为 6 个字符
    输入密钥库口令:
    密钥库口令太短 - 至少必须为 6 个字符
    输入密钥库口令:
    密钥库口令太短 - 至少必须为 6 个字符
    故障太多 - 请稍后再试
    
    D:	oolsjdkin>keytool -delete -alias xckey -keystore E:mozq0store1xc.keystore
    输入密钥库口令:
    
    D:	oolsjdkin>keytool -list -keystore E:mozq0store1xc.keystore
    输入密钥库口令:
    
    *****************  WARNING WARNING WARNING  *****************
    * 存储在您的密钥库中的信息的完整性  *
    * 尚未经过验证!  为了验证其完整性, *
    * 必须提供密钥库口令。                  *
    *****************  WARNING WARNING WARNING  *****************
    
    密钥库类型: jks
    密钥库提供方: SUN
    
    您的密钥库包含 0 个条目
    

    导出秘钥到证书

    D:	oolsjdkin>keytool -exportcert -alias xckey -keystore E:mozq0store1xc.keystore -storepass xuechengkeystore -file E:mozq0store1xckey.cer -rfc
    
    存储在文件 <E:mozq0store1xckey.cer> 中的证书
    

    下载openssl

    openssl是一个加解密工具包,用来导出公钥。

    下载openssl工具。http://slproweb.com/products/Win32OpenSSL.html

    下载后双击确认。常规安装 Win64OpenSSL_Light-1_1_1d.exe 。最后一步不要选择任何捐赠复选框。

    配置环境变量。让可以直接在命令行访问openssl.exe即可。

    # 环境变量配置成功
    C:Users1>openssl
    OpenSSL> exit
    C:Users1>
    

    生成公钥

    D:	oolsjavain>keytool -list -rfc -keystore E:mozq0store1xc.keystore | openssl x509 -inform pem -pubkey
    输入密钥库口令:  xuechengkeystore
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp6t6EooLGMSKQe4f5EMn
    7ddI+yNAaRTxLtuEsBZ5x3ueEYwqQUqai0alFT/RVjZIizor6MwNhIcsLTTVTwz8
    6UELcq5tM72imdYnDq+DS4ST+7mQ6xswBeLSHI2jWszMdIwt1i9wkGxUamP9+HKW
    tr80uM6u5G3Cc3fUlw+Rw+vb9qdkX1zyh5duG+Lpl0KV0BnLzBjlE9ujGxKyOi6Q
    ETzXKNeyraiKfiaepm7bRO16BB/RKD70CpZ7QN1JYVeP0jJ49OrXI/lLtlv3HzM4
    cCuKEKPEpNFST6NmF2RTLigoWAJRvFE7xeoxKPvRqpdWYcipWZsibdZOW510w1hm
    ywIDAQAB
    -----END PUBLIC KEY-----
    -----BEGIN CERTIFICATE-----
    MIIDdzCCAl+gAwIBAgIEdpGZTTANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdV
    bmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYD
    VQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3du
    MB4XDTE5MTAyNDAxNTQyNFoXDTIwMDEyMjAxNTQyNFowbDEQMA4GA1UEBhMHVW5r
    bm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UE
    ChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCC
    ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKerehKKCxjEikHuH+RDJ+3X
    SPsjQGkU8S7bhLAWecd7nhGMKkFKmotGpRU/0VY2SIs6K+jMDYSHLC001U8M/OlB
    C3KubTO9opnWJw6vg0uEk/u5kOsbMAXi0hyNo1rMzHSMLdYvcJBsVGpj/fhylra/
    NLjOruRtwnN31JcPkcPr2/anZF9c8oeXbhvi6ZdCldAZy8wY5RPboxsSsjoukBE8
    1yjXsq2oin4mnqZu20TtegQf0Sg+9AqWe0DdSWFXj9IyePTq1yP5S7Zb9x8zOHAr
    ihCjxKTRUk+jZhdkUy4oKFgCUbxRO8XqMSj70aqXVmHIqVmbIm3WTluddMNYZssC
    AwEAAaMhMB8wHQYDVR0OBBYEFP/lb146hrw0/PqvcbLAZRciR6IuMA0GCSqGSIb3
    DQEBCwUAA4IBAQADL90LmS38yHUUm7QIoD/Ty2Q0BMICrtRdyD20lY/bp5ylijB+
    EiQxbXWv5okqjDxz3zDNwUKct0IGOYQ307IT4Xtc/jM4+o5fyT2kLx7+jTdnwvCt
    r0cHGkrFUhCZtlbvQba+rmdf3P2CqBWmu7/spm+NDvpFQGCMHv2UWN4IL0sIWQy0
    wbXffqor/zq9bLjkA+7PyZ+NN/uQ5LXJNoeMPvdlIw11MFoTZd2ekEWetxfuHh/u
    K5IDBwLSZDkesXsxN79MlcTbF14Xnz96JSp4vFI/fQOdjYsHSsjgznhMDnK8BYxf
    HZjXz0M1DJS4FAhn4+OvIltmyj31vU384dW0
    -----END CERTIFICATE-----
    
    这个就是公钥的内容将公钥拷贝到文本文件,合并为一行。
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp6t6EooLGMSKQe4f5EMn
    7ddI+yNAaRTxLtuEsBZ5x3ueEYwqQUqai0alFT/RVjZIizor6MwNhIcsLTTVTwz8
    6UELcq5tM72imdYnDq+DS4ST+7mQ6xswBeLSHI2jWszMdIwt1i9wkGxUamP9+HKW
    tr80uM6u5G3Cc3fUlw+Rw+vb9qdkX1zyh5duG+Lpl0KV0BnLzBjlE9ujGxKyOi6Q
    ETzXKNeyraiKfiaepm7bRO16BB/RKD70CpZ7QN1JYVeP0jJ49OrXI/lLtlv3HzM4
    cCuKEKPEpNFST6NmF2RTLigoWAJRvFE7xeoxKPvRqpdWYcipWZsibdZOW510w1hm
    ywIDAQAB
    -----END PUBLIC KEY-----
    

    bugs

    keytool只能进入jdk的bin目录下使用。
    
  • 相关阅读:
    C# 设置 Excel 条件格式 与 冻结窗口
    Exce折叠效果(数据组合)
    [一点一滴学英语]20050829
    Tencent Messenger
    很有趣的一篇文章:不使用Linux的五大理由
    Tencent Messenger (continued)
    N久没有听过这么搞笑的RAP了
    [一点一滴学英语]20050827
    [Eclipse笔记]SWT真正的优势不是快这么简单
    [一点一滴学英语]20050828
  • 原文地址:https://www.cnblogs.com/mozq/p/11731598.html
Copyright © 2011-2022 走看看