我试着构建证书/密钥管理工具,但我不明白如何获取证书/密钥的md5指纹。Java以编程方式从钥匙/证书读取信息
例如,如果我在密钥库中使用keytool指令i获得
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: myname
Creation date: 21-Aug-2011
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=bla bla, L=bla, ST=bla
Issuer: CN=bla bla, L=bla, ST=bla
Serial number: 123w3qa
Valid from: Sun Aug 21 00:12:31 CEST 2011 until: Mon Jul 28 00:12:31 CEST 2110
Certificate fingerprints:
MD5: 1A:DE:60:21:DE:B1:BF:C3:D1:AD:11:F1:21:22:D7:9E
SHA1: 72:3A:D9:2E:1A:DE:60:21:DE:B1:BF:C3:D1:AD:11:F1:21:22:D7:9E
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: AA EA FA FE 34 DA 6E C6 FC 8B 6C DE S9 21 S9 S4 ......^...l.I!.D
0010: S3 33 29 SD .S..
]
]
*******************************************
*******************************************
现在我想通过Java以获得以下信息: 1. MD5指纹 2. KeyIdentifier
我获得一些使用X500Certificate对象和X500Principal的信息(例如来自和来自所有者,发行者,别名的日期),但是我没有找到我可以获得其他信息的地方。有人能帮我吗?
你可以试着看看'keytool'本身的来源? – DNA
是啊,你说得对,昨天我看了看源代码,但我错过了:( – Ivan