2

我的 Python Web 应用程序从 Web 服务器接收客户端的专有名称(取自客户端的证书)格式(可能是 X509 标准格式?):

/C=BR/ST=Minas Gerais/O=Internet Widgits Pty Ltd/CN=www.test.com

这是某种标准吗?我可以(安全地)用 pyOpenSSL 解析这个字符串并从中构建一个 X509Name 吗?或者也许是其他图书馆?我只是对CN感兴趣...

4

2 回答 2

2

似乎 python-ldap 可以使用 dn 模块(DN = Distinguished Name)解析这些类型的字符串:

>>> ldap.dn.str2dn('cn=Michael Str\xc3\xb6der,dc=stroeder,dc=com',flags=ldap.DN_FORMAT_LDAPV3)
[[('cn', 'Michael Str\xc3\xb6der', 4)], [('dc', 'stroeder', 1)], [('dc', 'com', 1)]]

来源:https ://www.python-ldap.org/doc/html/ldap-dn.html

于 2016-02-24T10:14:28.453 回答
0

确实这是一个标准。该符号在RFC 4514中定义。您可以根据 RFC 对其进行解析,提取 CN 部分然后使用其值。不幸的是,我不能告诉你关于这个的 python 库。

于 2014-05-18T05:30:02.350 回答