getIssuerX500Principal()。getName()返回有线名称

时间:2012-07-13 05:37:38

标签: java cryptography x509certificate

1)我正在检索X509Certificate的发行者,如下所示。

String issuerDn(final X509Certificate cert) {
    return cert.getIssuerX500Principal().getName();
} 

cert.toString()将发行者显示为:

EMAILADDRESS=root@someperson, CN=someCommonName, OU=SomeOrganizationalUnit, O=SomeOrganization, L=SomeCity, ST=SomeState, C=--

但是cert.getIssuerX500Principal()。getName()返回以下内容:

1.2.<SOME DIGITS>=#<SOME DIGITS>,CN=someCommonName,OU=SomeOrganizationalUnit,O=SomeOrganization,L=SomeCity,ST=SomeState,C=--

但是,如果我使用cert.getIssuerX500Principal()。getName(“RFC1779”),它将正确返回发行者(即使用root @ someperson)。

任何人都可以解释使用cert.getIssuerX500Principal()。getName(“RFC1779”)从X509Certifcate检索发行者是否正确,因为RFC 2253废弃了RFC 1779.

2)我注意到如果组织类似于“{SOME DIGITS}”(即开括号和一些数字),则getIssuerX500Principal()。getName()返回如下内容。

O=|0|{|0|7|0|E|0|F|0|2|0|B|0|1| ....

仍然是getIssuerX500Principal()。getName(“RFC1779”)正确返回它。任何人都可以解释为什么会这样,并解决了什么问题?

3)如果发行者名称中包含空字节,则getIssuerX500Principal()。getName()的预期行为是什么?

0 个答案:

没有答案