亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從Java的X509Certificate中提取CN?

如何從Java的X509Certificate中提取CN?

料青山看我應如是 2019-12-26 10:13:10
我正在使用SslServerSocket和客戶端證書,并希望從客戶端的SubjectDN中提取CN X509Certificate。目前,我打電話,cert.getSubjectX500Principal().getName()但這當然給了我客戶端的總格式化DN。由于某種原因,我只是對CN=theclientDN 感興趣。有沒有一種方法可以提取DN的這一部分而無需自己解析String?
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

這是另一種方式。想法是您獲得的DN為rfc2253格式,與LDAP DN所使用的格式相同。那么為什么不重用LDAP API呢?


import javax.naming.ldap.LdapName;

import javax.naming.ldap.Rdn;


String dn = x509cert.getSubjectX500Principal().getName();

LdapName ldapDN = new LdapName(dn);

for(Rdn rdn: ldapDN.getRdns()) {

    System.out.println(rdn.getType() + " -> " + rdn.getValue());

}


查看完整回答
反對 回復 2019-12-26
  • 3 回答
  • 0 關注
  • 987 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號