def x509_name_entry2tuple(entry): bio = BIO.MemoryBuffer() m2.asn1_string_print(bio._ptr(), m2.x509_name_entry_get_data(entry._ptr())) return ( six.ensure_text(m2.obj_obj2txt( m2.x509_name_entry_get_object(entry._ptr()), 0)), six.ensure_text(bio.getvalue()))
def x509_name_entry2tuple(entry): bio = BIO.MemoryBuffer() m2.asn1_string_print(bio._ptr(), m2.x509_name_entry_get_data(entry._ptr())) return ( util.py3str(m2.obj_obj2txt( m2.x509_name_entry_get_object(entry._ptr()), 0)), util.py3str(bio.getvalue()))
def is_legacy_proxy(cert): for i in xrange(cert.get_ext_count()): ext = cert.get_ext_at(i) if ext.get_name().lower() == "proxycertinfo": return False for entry in cert.get_subject(): # M2Crypto 0.16 не имеет нужного python api obj = m2.x509_name_entry_get_object(entry._ptr()) objname = m2.obj_nid2sn(m2.obj_obj2nid(obj)) val = entry.get_data().as_text() if objname == 'CN' and val in ('proxy', 'limited proxy'): return True return False
def is_legacy_proxy(cert): """Check if certificate is a legacy proxy certificate""" for i in xrange(cert.get_ext_count()): ext = cert.get_ext_at(i) if ext.get_name().lower() == "proxycertinfo": return False for entry in cert.get_subject(): # M2Crypto 0.16 does not implement the corresponding python api :( obj = m2.x509_name_entry_get_object(entry._ptr()) objname = m2.obj_nid2sn(m2.obj_obj2nid(obj)) val = entry.get_data().as_text() if objname == 'CN' and val in ('proxy', 'limited proxy'): return True return False
def get_object(self): # type: () -> ASN1.ASN1_Object return ASN1.ASN1_Object( m2.x509_name_entry_get_object(self.x509_name_entry))
def get_object(self): return ASN1.ASN1_Object( m2.x509_name_entry_get_object(self.x509_name_entry))