我的Python Web应用程序从Web服务器接收客户端的专有名称(取自客户端证书)的格式(可能是X509标准格式?):
/C=BR/ST=Minas Gerais/O=Internet Widgits Pty Ltd/CN=www.test.com
这是某种标准吗?我可以(安全地)使用pyOpenSSL解析此字符串并从中构建X509Name吗?或者其他一些图书馆?我只对CN ...
感兴趣答案 0 :(得分: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)]]
答案 1 :(得分:1)
确实这是一个标准。符号在RFC 4514中定义。您可以根据RFC解析它,提取CN部分然后使用其值。不幸的是,我无法告诉你有关python库的信息。