예제 #1
0
    def __init__(self, algo):
        # type: (str) -> None
        cipher = getattr(m2, algo, None)
        if cipher is None:
            raise ValueError('unknown cipher', algo)
        self.cipher = cipher()

    def _ptr(self):
        return self.cipher


class SMIME_Error(Exception):
    pass

m2.smime_init(SMIME_Error)


# FIXME class has no __init__ method
class SMIME(object):
    def load_key(self, keyfile, certfile=None,
                 callback=util.passphrase_callback):
        # type: (AnyStr, Optional[AnyStr], Callable) -> None
        if certfile is None:
            certfile = keyfile
        self.pkey = EVP.load_key(keyfile, callback)
        self.x509 = X509.load_cert(certfile)

    def load_key_bio(self, keybio, certbio=None,
                     callback=util.passphrase_callback):
        # type: (BIO.BIO, Optional[BIO.BIO], Callable) -> None
예제 #2
0
파일: SMIME.py 프로젝트: rodrigc/m2crypto
    """

    def __init__(self, algo):
        cipher = getattr(m2, algo, None)
        if cipher is None:
            raise ValueError('unknown cipher', algo)
        self.cipher = cipher()

    def _ptr(self):
        return self.cipher


class SMIME_Error(Exception):  # noqa
    pass

m2.smime_init(SMIME_Error)

class SMIME:
    def load_key(self, keyfile, certfile=None,
                 callback=util.passphrase_callback):
        if certfile is None:
            certfile = keyfile
        self.pkey = EVP.load_key(keyfile, callback)
        self.x509 = X509.load_cert(certfile)

    def load_key_bio(self, keybio, certbio=None,
                     callback=util.passphrase_callback):
        if certbio is None:
            certbio = keybio
        self.pkey = EVP.load_key_bio(keybio, callback)
        self.x509 = X509.load_cert_bio(certbio)