【发布时间】:2016-01-01 07:43:39
【问题描述】:
我想使用 Java 获取 X509Certificate 的唯一标识符。
我尝试使用以下代码获取值:-
java.security.cert.X509Certificate certificate=// certificate object
certificate.getSubjectX500Principal().getName();
但我无法单独获得唯一标识符值。这是我得到的值:-
2.5.4.45=#0309000000db000000a01a,OU=06
我想单独获取“2.5.4.45”的值。
我还尝试使用以下代码获取值:-
String dn2 = certificate.getSubjectX500Principal().getName();
LdapName ldapDN;
ldapDN = new LdapName(dn2);
for(Rdn rdn: ldapDN.getRdns()) {
System.out.println(rdn.getType() + " -> " + rdn.getValue());
if(rdn.getType().equalsIgnoreCase("2.5.4.45")){
System.out.println(rdn.getValue());
}
我得到一个对象作为唯一标识符的值。我无法解析对象,获取它的值。
更新 :: 我仍然无法找到获取 UniqueIdentifier 标识符的方法。感谢任何帮助。
【问题讨论】:
-
这里有点难以帮助 - 你能提供问题证书 - 这样我们就可以看到发生了什么?首先怀疑是格式错误的主体字符串。
标签: java cryptography certificate digital-signature x509certificate