我有一个带有以下主题的虚拟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我可以从符号图(它是E)获得对应于1.2.840.113549.1.9.1键的值,但我不知道如何处理这个#160d313233617364406173642e6473。
如何将此#160d313233617364406173642e6473解析为可读字符串?
答案 0 :(得分:1)
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());