Exemplo n.º 1
0
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()))
Exemplo n.º 2
0
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()))
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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
Exemplo n.º 6
0
 def get_object(self):
     # type: () -> ASN1.ASN1_Object
     return ASN1.ASN1_Object(
         m2.x509_name_entry_get_object(self.x509_name_entry))
Exemplo n.º 7
0
 def get_object(self):
     return ASN1.ASN1_Object(
         m2.x509_name_entry_get_object(self.x509_name_entry))
Exemplo n.º 8
0
 def get_object(self):
     # type: () -> ASN1.ASN1_Object
     return ASN1.ASN1_Object(
         m2.x509_name_entry_get_object(self.x509_name_entry))
Exemplo n.º 9
0
 def get_object(self):
     return ASN1.ASN1_Object(
         m2.x509_name_entry_get_object(self.x509_name_entry))