美文网首页
java的keytool工具生成rsa签名证书

java的keytool工具生成rsa签名证书

作者: 牙齿不帅 | 来源:发表于2020-03-05 09:40 被阅读0次

生成一个keystore

$ sudo keytool -genkeypair -alias config-server -keyalg RSA -keystore config-server.keystore
Password:
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
  [Unknown]:  cong
您的组织单位名称是什么?
  [Unknown]:  company
您的组织名称是什么?
  [Unknown]:  organization
您所在的城市或区域名称是什么?
  [Unknown]:  city
您所在的省/市/自治区名称是什么?
  [Unknown]:  province
该单位的双字母国家/地区代码是什么?
  [Unknown]:  china
CN=cong, OU=company, O=organization, L=city, ST=province, C=china是否正确?
  [否]:  y

输入 <config-server> 的密钥口令
    (如果和密钥库口令相同, 按回车):  
再次输入新口令: 

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore config-server.keystore -destkeystore config-server.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

查看keystore信息

$ keytool -list -v -keystore config-server.keystore
输入密钥库口令:  
密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: config-server
创建日期: 2020-3-5
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=cong, OU=company, O=organization, L=city, ST=province, C=china
发布者: CN=cong, OU=company, O=organization, L=city, ST=province, C=china
序列号: 6b29995
有效期为 Thu Mar 05 08:59:45 CST 2020 至 Wed Jun 03 08:59:45 CST 2020
证书指纹:
     MD5:  EB:EF:8F:22:6B:E0:6A:9A:AA:8C:59:45:05:B0:86:B9
     SHA1: 7F:1A:73:CC:31:85:BB:4E:F1:78:EA:FC:83:11:BA:E9:65:CE:8F:8D
     SHA256: EB:9A:C6:7D:71:00:7D:A1:39:47:72:9C:8C:81:F1:0C:6E:2F:7C:CA:BB:8A:09:D9:22:DC:72:06:6A:55:F0:45
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3
扩展: 
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D5 7B 6B 95 3A E1 9A F1   DA 04 AD 41 FE 02 80 53  ..k.:......A...S
0010: CD 36 1F 1E                                        .6..
]
]
*******************************************
*******************************************
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore config-server.keystore -destkeystore config-server.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

keystore并不是证书文件,所以md5 keystore文件得到的md5和证书指纹是不一致的,需要导成crt文件。

$ md5 config-server.keystore 
MD5 (config-server.keystore) = 557873acd926aed95dcbc662ea73153b

导成crt文件,注意-alias别名需要和生成keystore的对应。

$ sudo keytool -export -alias config-server -file test.crt -keystore config-server.keystore 
输入密钥库口令:  
存储在文件 <test.crt> 中的证书
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore config-server.keystore -destkeystore config-server.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

证书的md5和证书指纹是一致的:EB:EF:8F:22:6B:E0:6A:9A:AA:8C:59:45:05:B0:86:B9

$ md5 test.crt 
MD5 (test.crt) = ebef8f226be06a9aaa8c594505b086b9

相关文章

网友评论

      本文标题:java的keytool工具生成rsa签名证书

      本文链接:https://www.haomeiwen.com/subject/rlktrhtx.html