我在java中使用X509Certificate类,当我想获取主题名称时,我尝试:
x509certificate.getIssuerDN().getName();
和
x509certificate.getSubjectDN().getName();
两种方法都有相同的结果。那么它们之间的区别是什么?
答案 0 :(得分:2)
此方法从证书中的两个不同字段读取。它可能会在您的情况下返回相同的结果,但不会共同。
答案 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了解名称和其他相关定义。
返回:名称为主题名称的主体。