解析X509可区分名称
我的Python网页应用从网络服务器接收到客户端的“区分名称”(这个名称是从客户端的证书中获取的),格式可能是(可能是X509标准格式?):
/C=BR/ST=Minas Gerais/O=Internet Widgits Pty Ltd/CN=www.test.com
这算不算一种标准呢?我可以用pyOpenSSL安全地解析这个字符串,并从中构建一个X509Name吗?或者用其他库也可以吗?我只对CN(通用名称)感兴趣...
2 个回答
0
确实,这是一个标准。这个标准的写法可以在RFC 4514中找到。你可以按照这个标准来解析它,提取出CN部分,然后使用它的值。很遗憾,我不能告诉你关于Python库的具体信息。
2
看起来,python-ldap可以使用dn模块来解析这些类型的字符串(DN = 区别名称):
>>> 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)]]