コード例 #1
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def __init__(self, x509=None, _pyfree=0):
     if x509 is not None:
         assert m2.x509_type_check(x509), "'x509' type error"
         self.x509 = x509
         self._pyfree = _pyfree
     else:
         self.x509 = m2.x509_new()
         self._pyfree = 1
コード例 #2
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def __init__(self, x509=None, _pyfree=0):
     if x509 is not None:
         assert m2.x509_type_check(x509), "'x509' type error"
         self.x509 = x509
         self._pyfree = _pyfree
     else:
         self.x509 = m2.x509_new ()
         self._pyfree = 1
コード例 #3
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
    def add_ext(self, ext):
        """
        Add X509 extension to this certificate.

        @type ext:     X509_Extension
        @param ext:    Extension
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_add_ext(self.x509, ext.x509_ext, -1)
コード例 #4
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
    def add_ext(self, ext):
        """
        Add X509 extension to this certificate.

        @type ext:     X509_Extension
        @param ext:    Extension
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_add_ext(self.x509, ext.x509_ext, -1)
コード例 #5
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
    def set_subject(self, name):
        """
        Set subject name.

        @type name:     X509_Name
        @param name:    subjectName field.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_set_subject_name(self.x509, name.x509_name)
コード例 #6
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
    def set_subject(self, name):
        """
        Set subject name.

        @type name:     X509_Name
        @param name:    subjectName field.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_set_subject_name(self.x509, name.x509_name)
コード例 #7
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
    def set_pubkey(self, pkey):
        """
        Set the public key for the certificate

        @type pkey:  EVP_PKEY
        @param pkey: Public key
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_set_pubkey(self.x509, pkey.pkey)
コード例 #8
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
    def set_pubkey(self, pkey):
        """
        Set the public key for the certificate

        @type pkey:  EVP_PKEY
        @param pkey: Public key
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_set_pubkey(self.x509, pkey.pkey)
コード例 #9
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
    def set_version(self, version):
        """
        Set version.

        @type version:  int
        @param version: Version number.
        @rtype:         int
        @return:        Returns 0 on failure.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_set_version(self.x509, version)
コード例 #10
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
    def set_version(self, version):
        """
        Set version.

        @type version:  int
        @param version: Version number.
        @rtype:         int
        @return:        Returns 0 on failure.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        return m2.x509_set_version(self.x509, version)
コード例 #11
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
    def set_serial_number(self, serial):
        """
        Set serial number.

        @type serial:   int
        @param serial:  Serial number.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        # This "magically" changes serial since asn1_integer
        # is C pointer to x509's internal serial number.
        asn1_integer = m2.x509_get_serial_number(self.x509)
        return m2.asn1_integer_set(asn1_integer, serial)
コード例 #12
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
    def set_serial_number(self, serial):
        """
        Set serial number.

        @type serial:   int
        @param serial:  Serial number.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        # This "magically" changes serial since asn1_integer
        # is C pointer to x509's internal serial number.
        asn1_integer = m2.x509_get_serial_number(self.x509)
        return m2.asn1_integer_set(asn1_integer, serial)
コード例 #13
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
    def sign(self, pkey, md):
        """
        Sign the certificate.

        @type pkey:  EVP_PKEY
        @param pkey: Public key
        @type md:    str
        @param md:   Message digest algorithm to use for signing,
                     for example 'sha1'.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        mda = getattr(m2, md, None)
        if mda is None:
            raise ValueError, ('unknown message digest', md)
        return m2.x509_sign(self.x509, pkey.pkey, mda())
コード例 #14
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
    def sign(self, pkey, md):
        """
        Sign the certificate.

        @type pkey:  EVP_PKEY
        @param pkey: Public key
        @type md:    str
        @param md:   Message digest algorithm to use for signing,
                     for example 'sha1'.
        """
        assert m2.x509_type_check(self.x509), "'x509' type error"
        mda = getattr(m2, md, None)
        if mda is None:
            raise ValueError, ('unknown message digest', md)
        return m2.x509_sign(self.x509, pkey.pkey, mda())
コード例 #15
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def get_serial_number(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     asn1_integer = m2.x509_get_serial_number(self.x509)
     return m2.asn1_integer_get(asn1_integer)
コード例 #16
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def get_version(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_get_version(self.x509)
コード例 #17
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def set_issuer_name(self, name):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_set_issuer_name(self.x509, name.x509_name)
コード例 #18
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def set_not_after(self, asn1_utctime):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_set_not_after(self.x509, asn1_utctime._ptr())
コード例 #19
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def set_issuer_name(self, name):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_set_issuer_name(self.x509, name.x509_name)
コード例 #20
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def get_subject(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_subject_name(self.x509))
コード例 #21
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def get_pubkey(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return EVP.PKey(m2.x509_get_pubkey(self.x509), _pyfree=1)
コード例 #22
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def _ptr(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return self.x509
コード例 #23
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def get_version(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_get_version(self.x509)
コード例 #24
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def get_serial_number(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     asn1_integer = m2.x509_get_serial_number(self.x509)
     return m2.asn1_integer_get(asn1_integer)
コード例 #25
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def get_issuer(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_issuer_name(self.x509))
コード例 #26
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def get_not_after(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return ASN1.ASN1_UTCTIME(m2.x509_get_not_after(self.x509))
コード例 #27
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def get_pubkey(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return EVP.PKey(m2.x509_get_pubkey(self.x509), _pyfree=1)
コード例 #28
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def set_not_after(self, asn1_utctime):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_set_not_after(self.x509, asn1_utctime._ptr())
コード例 #29
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def get_not_after(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return ASN1.ASN1_UTCTIME(m2.x509_get_not_after(self.x509))
コード例 #30
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def as_text(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     buf=BIO.MemoryBuffer()
     m2.x509_print(buf.bio_ptr(), self.x509)
     return buf.read_all()
コード例 #31
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def as_der(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.i2d_x509(self.x509)
コード例 #32
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def get_issuer(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_issuer_name(self.x509))
コード例 #33
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def get_subject(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_subject_name(self.x509))
コード例 #34
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def _ptr(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return self.x509
コード例 #35
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def verify(self, pkey=None):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     if pkey:
         return m2.x509_verify(self.x509, pkey.pkey)
     else:
         return m2.x509_verify(self.x509, m2.x509_get_pubkey(self.x509))
コード例 #36
0
ファイル: X509.py プロジェクト: rossonet/Strumenti-RCloud
 def as_der(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     buf = BIO.MemoryBuffer()
     m2.i2d_x509(buf.bio_ptr(), self.x509)
     return buf.read_all()
コード例 #37
0
ファイル: X509.py プロジェクト: 0xkag/M2Crypto
 def verify(self, pkey=None):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     if pkey:
         return m2.x509_verify(self.x509, pkey.pkey)
     else:
         return m2.x509_verify(self.x509, self.get_pubkey().pkey)
コード例 #38
0
 def as_der(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.i2d_x509(self.x509)