X509Certificate:getIssuerDN()和getSubjectDN()方法有什么区别

时间:2015-06-16 09:17:55

标签: java security authentication x509

我在java中使用X509Certificate类,当我想获取主题名称时,我尝试:

x509certificate.getIssuerDN().getName();

x509certificate.getSubjectDN().getName();

两种方法都有相同的结果。那么它们之间的区别是什么?

2 个答案:

答案 0 :(得分:2)

此方法从证书中的两个不同字段读取。它可能会在您的情况下返回相同的结果,但不会共同。

请参阅getIssuerDN()getSubjectDN()

答案 1 :(得分:1)

方法public abstract Principal getIssuerDN() 已删除,由getIssuerX500Principal()取代。返回发布者作为特定于实现的Principal对象,便携式代码不应该依赖它。 从证书中获取颁发者(颁发者专有名称)值。颁发者名称标识签署(和颁发)证书的实体。

颁发者名称字段包含X.500可分辨名称(DN)。

名称描述由属性组成的层次结构名称,例如国家/地区名称和相应的值,例如美国。 AttributeValue组件的类型由AttributeType确定;一般来说它将是一个directoryString。 directoryString通常是PrintableString,TeletexString或UniversalString之一。

返回:名称为发布者专有名称的委托人。

方法public abstract Principal getSubjectDN() 已删除,由getSubjectX500Principal()取代。返回作为特定于实现的Principal对象的主题,便携式代码不应该依赖它。 从证书中获取主题(主题可分辨名称)值。如果主题值为空,则返回的Principal对象的getName()方法返回一个空字符串("")。

请参阅getIssuerDN了解名称和其他相关定义。

返回:名称为主题名称的主体。