同样,问题出现了如何从主题的DN中获取CN。
有些人建议“手动”分解DN。但是,我总是想知道当“,”,“=”,“CN =”之类的东西是右手(价值)方的一部分时会发生什么......甚至是允许的?
使用Java和BouncyCastle从DN获取CN的最可靠和最合理的方法是什么?是不是有“String getAttribute(String)”方法?我只是读了https://www.ietf.org/rfc/rfc1779.txt的一部分,它定义了关键字符的正确“转义”。是否有任何RFC1779解析器?我找到了https://github.com/apache/cordova-android/blob/master/framework/src/com/squareup/okhttp/internal/tls/DistinguishedNameParser.java例如。 BC,Java SE或其他maven模块中是否包含任何有用的东西?
答案 0 :(得分:2)
解决方案是使用
new javax.naming.ldap.LdapName(
X509Certificate.getSubjectX500Principal().getName())
.getRdns()
提示:RFC2253