KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/lib64/python2.4/site-packages/M2Crypto/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib64/python2.4/site-packages/M2Crypto/ASN1.py
"""
M2Crypto wrapper for OpenSSL ASN1 API.

Copyright (c) 1999-2004 Ng Pheng Siong. All rights reserved.

Portions created by Open Source Applications Foundation (OSAF) are
Copyright (C) 2005 OSAF. All Rights Reserved.
"""

import BIO
import m2

MBSTRING_FLAG = 0x1000
MBSTRING_ASC  = MBSTRING_FLAG | 1
MBSTRING_BMP  = MBSTRING_FLAG | 2


class ASN1_Integer:

    m2_asn1_integer_free = m2.asn1_integer_free

    def __init__(self, asn1int, _pyfree=0):
        self.asn1int = asn1int
        self._pyfree = _pyfree
        
    def __cmp__(self, other):
        return m2.asn1_integer_cmp(self.asn1int, other.asn1int)

    def __del__(self):
        if self._pyfree:
            self.m2_asn1_integer_free(self.asn1int)


class ASN1_String:
        
    m2_asn1_string_free = m2.asn1_string_free
    
    def __init__(self, asn1str, _pyfree=0):
        self.asn1str = asn1str
        self._pyfree = _pyfree

    def __str__(self):
        buf = BIO.MemoryBuffer()
        m2.asn1_string_print( buf.bio_ptr(), self.asn1str )
        return buf.read_all()

    def __del__(self):
        if getattr(self, '_pyfree', 0):
            self.m2_asn1_string_free(self.asn1str)
                                                                                                        
    def _ptr(self):
        return self.asn1str
    
    def as_text(self, flags=0):
        buf = BIO.MemoryBuffer()
        m2.asn1_string_print_ex( buf.bio_ptr(), self.asn1str, flags)
        return buf.read_all()


class ASN1_Object:
    
    m2_asn1_object_free = m2.asn1_object_free

    def __init__(self, asn1obj, _pyfree=0):
        self.asn1obj = asn1obj
        self._pyfree = _pyfree
        
    def __del__(self):
        if self._pyfree:
            self.m2_asn1_object_free(self.asn1obj)

    def _ptr(self):
        return self.asn1obj


class ASN1_UTCTIME:
    m2_asn1_utctime_free = m2.asn1_utctime_free

    def __init__(self, asn1_utctime=None, _pyfree=0):
        if asn1_utctime is not None:
            assert m2.asn1_utctime_type_check(asn1_utctime), "'asn1_utctime' type error'"
            self.asn1_utctime = asn1_utctime
            self._pyfree = _pyfree
        else:
            self.asn1_utctime = m2.asn1_utctime_new ()
            self._pyfree = 1
            
    def __del__(self):
        if getattr(self, '_pyfree', 0):
            self.m2_asn1_utctime_free(self.asn1_utctime)
            
    def __str__(self):
        assert m2.asn1_utctime_type_check(self.asn1_utctime), "'asn1_utctime' type error'"
        buf = BIO.MemoryBuffer()
        m2.asn1_utctime_print( buf.bio_ptr(), self.asn1_utctime )
        return buf.read_all()

    def _ptr(self):
        assert m2.asn1_utctime_type_check(self.asn1_utctime), "'asn1_utctime' type error'"
        return self.asn1_utctime

    def set_string (self, string):
        """
        Set time from UTC string.
        """
        assert m2.asn1_utctime_type_check(self.asn1_utctime), "'asn1_utctime' type error'"
        return m2.asn1_utctime_set_string( self.asn1_utctime, string )

    def set_time (self, time):
        """
        Set time from seconds since epoch (long).
        """
        assert m2.asn1_utctime_type_check(self.asn1_utctime), "'asn1_utctime' type error'"
        return m2.asn1_utctime_set( self.asn1_utctime, time )


Anon7 - 2021