Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
    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)
Exemple #9
0
    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)
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #12
0
    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)
Exemple #13
0
    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())
Exemple #14
0
    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())
Exemple #15
0
 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)
Exemple #16
0
 def get_version(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_get_version(self.x509)
Exemple #17
0
 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)
Exemple #18
0
 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())
Exemple #19
0
 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)
Exemple #20
0
 def get_subject(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_subject_name(self.x509))
Exemple #21
0
 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)
Exemple #22
0
 def _ptr(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return self.x509
Exemple #23
0
 def get_version(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.x509_get_version(self.x509)
Exemple #24
0
 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)
Exemple #25
0
 def get_issuer(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_issuer_name(self.x509))
Exemple #26
0
 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))
Exemple #27
0
 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)
Exemple #28
0
 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())
Exemple #29
0
 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))
Exemple #30
0
 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()
Exemple #31
0
 def as_der(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.i2d_x509(self.x509)
Exemple #32
0
 def get_issuer(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_issuer_name(self.x509))
Exemple #33
0
 def get_subject(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return X509_Name(m2.x509_get_subject_name(self.x509))
Exemple #34
0
 def _ptr(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return self.x509
Exemple #35
0
 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))
Exemple #36
0
 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()
Exemple #37
0
 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)
Exemple #38
0
 def as_der(self):
     assert m2.x509_type_check(self.x509), "'x509' type error"
     return m2.i2d_x509(self.x509)