java生成和读取keystore_生成Java签名.keystore文件的方法

这篇博客详细介绍了如何生成Java的keystore文件,包括使用keytool工具设置别名、密码、算法和有效期。同时,还展示了查看、导出、删除keystore条目以及导入证书的操作步骤,为Java签名提供了清晰的指南。
部署运行你感兴趣的模型镜像

今天接触到了Java签名相关的东西,想要学习一下,很多东西介绍的不全面,前因后果也介绍的不是很清楚。找了很多地方终于了解了大概,整理在这里。考虑到很多查看的人的需求点不同,也没有必要把所有的东西放在一遍文章中,导致文章很长。这篇文章就只介绍Java签名.keystore文件的生成方法,和相关的操作。

生成方法

在终端输入:

keytool -genkey -alias javadebugkey(别名) -keypass java123(别名密) -keyalg RSA(生成签名算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore javadebugkey.keystore(生成的keystore文件)

括号中是前面字符串含义的说明,这些信息在有的时候是要用的。别名,别名密码等。在终端输入之后,自定义自己的.keystore信息之后把括号内容去掉。之后回车,先会让你输入密码,例如123456,之后会提示让你输入相关信息,输入即可,中国是CN。

对.keystore文件的操作

查看

查看一个keystore文件的内部信息:

keytool -list -v -keystore javadebugkey.keystore -storepass 123456

就可以看到相关信息。

密钥库类型: JKS

密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: javadebugkey

创建日期: 2016-7-6

条目类型: PrivateKeyEntry

证书链长度: 1

证书[1]:

所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

序列号: 48eff7e5

有效期开始日期: Wed Jul 06 21:58:54 CST 2016, 截止日期: Thu Jul 06 21:58:54 CST 2017

证书指纹:

MD5: E7:8B:2F:27:05:3B:35:63:49:FD:79:8A:B5:2A:C6:AE

SHA1: F7:47:F2:71:72:9A:88:43:60:74:AA:2B:65:69:15:03:37:CB:CB:31

SHA256: 77:F6:5B:29:22:85:49:CB:44:1B:A4:4E:BD:3F:B4:2B:D6:B3:05:E1:46:B5:56:7E:F0:AD:C8:08:CA:AB:CE:DE

签名算法名称: SHA256withRSA

版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: A7 11 32 79 F3 16 DD 7B C5 DE 22 8C FC 70 47 BC ..2y......"..pG.

0010: 4B 00 E0 A8 K...

]

]

导出证书

终端输入:

keytool -export -alias javadebugkey -keystore javadebugkey.keystore -file javadebugkey.crt(指定导出的证书) -storepass 123456

即可得到该签名的证书

查看证书

终端输入:

keytool -printcert -file javadebugkey.crt

得到结果:

所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

序列号: 48eff7e5

有效期开始日期: Wed Jul 06 21:58:54 CST 2016, 截止日期: Thu Jul 06 21:58:54 CST 2017

证书指纹:

MD5: E7:8B:2F:27:05:3B:35:63:49:FD:79:8A:B5:2A:C6:AE

SHA1: F7:47:F2:71:72:9A:88:43:60:74:AA:2B:65:69:15:03:37:CB:CB:31

SHA256: 77:F6:5B:29:22:85:49:CB:44:1B:A4:4E:BD:3F:B4:2B:D6:B3:05:E1:46:B5:56:7E:F0:AD:C8:08:CA:AB:CE:DE

签名算法名称: SHA256withRSA

版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: A7 11 32 79 F3 16 DD 7B C5 DE 22 8C FC 70 47 BC ..2y......"..pG.

0010: 4B 00 E0 A8 K...

]

]

删除信息

删除一个条目

keytool -delete -alias javadebugkey -keystore javadebugkey.keystore -storepass 123456

之后用上面的方法查看结果:

密钥库类型: JKS

密钥库提供方: SUN

您的密钥库包含 0 个条目

导入证书

将我们刚才的证书导入:

keytool -import -alias java -keypass java123 -file javadebugkey.crt -keystore javadebugkey.keystore -storepass 123456

再次查看文件信息:

密钥库类型: JKS

密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: java

创建日期: 2016-7-6

条目类型: trustedCertEntry

所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

发布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

序列号: 48eff7e5

有效期开始日期: Wed Jul 06 21:58:54 CST 2016, 截止日期: Thu Jul 06 21:58:54 CST 2017

证书指纹:

MD5: E7:8B:2F:27:05:3B:35:63:49:FD:79:8A:B5:2A:C6:AE

SHA1: F7:47:F2:71:72:9A:88:43:60:74:AA:2B:65:69:15:03:37:CB:CB:31

SHA256: 77:F6:5B:29:22:85:49:CB:44:1B:A4:4E:BD:3F:B4:2B:D6:B3:05:E1:46:B5:56:7E:F0:AD:C8:08:CA:AB:CE:DE

签名算法名称: SHA256withRSA

版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: A7 11 32 79 F3 16 DD 7B C5 DE 22 8C FC 70 47 BC ..2y......"..pG.

0010: 4B 00 E0 A8 K...

]

]

更多操作

更多操作请看keytool的帮助

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值