Python OpenSSL:如何创建 X509Name 对象

rho*_*rbe 5 pyopenssl

我需要按颁发者过滤传入的 X509 证书,为此我使用 Pyhton 的 OpenSSL.crypto。但是,我没有找到如何创建 X509Name 对象作为常量,我需要将其与从 cert.get_issuer() 获得的值进行比较。

net*_*ino 1

我能想到的最好的办法是使用

name = crypto.X509Name(crypto.X509().get_subject()) 
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式填充属性

name.__setattr__(att_name, attr_value)
Run Code Online (Sandbox Code Playgroud)

但是,单独进行比较时,最好使用类的 hash() 内置函数,该函数返回整个名称的哈希值,或者进行每个属性的比较