相关疑难解决方法(0)

如何从Java中的X509Certificate中提取CN?

我正在使用SslServerSocket和客户端证书,并希望从客户端的SubjectDN中提取CN X509Certificate.

我打电话的那一刻,cert.getSubjectX500Principal().getName()但这当然给了我客户端的格式化DN.出于某种原因,我只对CN=theclientDN 的部分感兴趣.有没有办法提取DN的这一部分而不自己解析String?

java ssl x509certificate x509

82
推荐指数
8
解决办法
7万
查看次数

为什么Nginx以相反的顺序提供客户端SSL DN?

我很好奇为什么有些Web服务器(例如Nginx)以相反的顺序提供客户端SSL DN.

Web应用程序将DN发布到Java Web服务,该服务正在尝试创建Java javax.naming.ldap.LdapName.

标准订单(LDAP或X500Name):

"CN=Jimmy Blooptoop,OU=Someplace,OU=Employees,DC=Bloopsoft-Inc"
Run Code Online (Sandbox Code Playgroud)

逆序(OpenSSL Oneline格式)(Nginx返回_ $ ssl_client_s_dn_):

"/DC=Bloopsoft-Inc/OU=Employees/OU=Someplace/CN=Jimmy Blooptoop"
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

哪一个与LDAP RFC匹配?

他们俩都这样?

关于LDAP RFC的说明:

有许多与LDAP相关的RFC:https://www.ldap.com/ldap-specifications-defined-in-rfcs

许多人提到不同的人,这里是对他们的快速历史的尝试:

  • 1993年7月:RFC 1485 - 杰出名称的字符串表示
  • 1995年3月:RFC 1779 - 可分辨名称的字符串表示
  • 1997年12月:RFC 2253 - 轻量级目录访问协议(v3):可分辨名称的UTF-8字符串表示
  • 2002年9月:RFC 3377 - 轻量级目录访问协议(v3):技术规范(更新RFC 2253)
  • 2003年3月:RFC 3494 - 轻量级目录访问协议版本2(LDAPv2)到历史状态(退休RFC 1485,RFC 1779)
  • 2006年6月:RFC 4514 - 轻量级目录访问协议(LDAP):可分辨名称的字符串表示

最新的One,其他人已废弃: RFC 4514:轻量级目录访问协议(LDAP):可分辨名称的字符串表示

Java库:

是否存在来回转换的Java库(从反向转换为非反转)?LdapName抛出InvalidNameException.似乎应该有,倒退格式经常出现.

Java库:

Ngninx备注:

链接:

java openssl ldap nginx spring-ldap

6
推荐指数
1
解决办法
1233
查看次数

标签 统计

java ×2

ldap ×1

nginx ×1

openssl ×1

spring-ldap ×1

ssl ×1

x509 ×1

x509certificate ×1