我有一个具有以下主题的虚拟 x509 证书
Subject: C=.., ST=..., O=..., OU=..., CN=.../emailAddress=123asd@asd.ds
方法
certificate.getSubjectX500Principal().getName()
返回
1.2.840.113549.1.9.1=#160d313233617364406173642e6473,CN=...,OU=...,O=...,ST=...,C=...
我需要将此 DN 解析为可读字符串。
使用 bouncycaSTLe 我可以从符号映射中获取与 1.2.840.113549.1.9.1 键对应的值(它是 E),但我不知道如何处理这个 #160d313233617364406173642e6473。
如何将此 #160d313233617364406173642e6473 解析为可读字符串?
最佳答案
import javax.xml.bind.DatatypeConverter;
byte[] data = DatatypeConverter.parseHexBinary(yourHexString);
ASN1InputStream s = new ASN1InputStream(new ByteArrayInputStream(data));
ASN1String str = (ASN1String) s.readObject();
System.out.println(str.getString());
关于java - 将 X509Certificate 主题 DN 转换为可读字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22912902/