コード例 #1
0
ファイル: crypto.py プロジェクト: leonirlopes/dnsviz
def _gost_cleanup():
    from M2Crypto import Engine
    try:
        gost = Engine.Engine(b'gost')
    except ValueError:
        pass
    else:
        gost.finish()
コード例 #2
0
def _gost_cleanup():
    from M2Crypto import Engine
    try:
        gost = Engine.Engine(GOST_ENGINE_NAME)
    except ValueError:
        pass
    else:
        gost.finish()
コード例 #3
0
 def test_load_certificate(self):
     Engine.load_openssl()
     e = Engine.Engine('openssl')
     e.set_default()
     try:
         with self.assertRaises(Engine.EngineError):
             e.load_certificate('/dev/null')
     except SystemError:
         pass
コード例 #4
0
def pkcs11_init(pkcs11_engine, pkcs11_driver):
    """
    Initializes Openssl pkcs11 engine with pkcs11 driver module and returns
    initialized engine for operations.
    """
    # loading Dynamic engine to load the PKCS#11 engine
    Engine.load_dynamic_engine("pkcs11", pkcs11_engine)
    # loading pkcs#11 module
    pkcs11 = Engine.Engine("pkcs11")
    pkcs11.ctrl_cmd_string("MODULE_PATH", pkcs11_driver)
    pkcs11.init()
    return pkcs11
コード例 #5
0
    def load_engine(self):
        if self.pkcs11_engine is not None:  # se l'engine e' gia stato caricato
            return True

        engine_drv_path = self.config.get_engine_driver_path()
        if engine_drv_path is None:
            return False

        self.engine_driver_path = engine_drv_path

        scard_drv_path = self.config.get_smartcard_driver_path(
        )  # ottengo il path della smartcard dalle config
        if scard_drv_path is None:  # se non sono riuscito ad ottenere il driver della smartcard
            scard_atr = SmartcardFetcher.get_smartcard_atr(
                self.logger)  # ottengo l'atr della smartcard
            if scard_atr is None:  # se non sono riuscito ad ottenere l'atr
                return False
            scard_drv_path = SmartcardFetcher.get_smartcard_library(
                scard_atr, self.config,
                self.logger)  # ottengo il path del driver della smarcard
            if scard_drv_path is None:  # se non sono ancora riuscito ad ottenere il path
                return False

        self.smartcard_driver_path = scard_drv_path

        if Engine.load_dynamic_engine('pkcs11',
                                      self.engine_driver_path) is None:
            return False

        self.pkcs11_engine = Engine.Engine('pkcs11')
        self.pkcs11_engine.ctrl_cmd_string('MODULE_PATH',
                                           self.smartcard_driver_path)

        if self.must_fetch_pin:  # se e' rischiesto un inserimento del pin
            pin = self.config.get_smartcard_pin()
            if pin is None:
                return False
            self.logger.debug('create engine using pin:%s' % pin)
            self.pkcs11_engine.ctrl_cmd_string(
                "PIN", pin)  # senza il pin l'engine chiede il pin da prompt
        # TODO da controllare il login con un pin errate perche' non da' errore

        self.pkcs11_engine.init()
        return True
コード例 #6
0
 def test_load_private(self):
     Engine.load_openssl()
     e = Engine.Engine('openssl')
     e.set_default()
     e.load_private_key(self.privkey)
コード例 #7
0
 def test_engine_ctrl_cmd_string(self):
     Engine.load_dynamic()
     e = Engine.Engine('dynamic')
     e.ctrl_cmd_string('ID', 'TESTID')
コード例 #8
0
 def test_by_id_dynamic(self):
     Engine.load_dynamic()
     Engine.Engine('dynamic')
コード例 #9
0
 def test_by_id_openssl(self):
     Engine.load_openssl()
     e = Engine.Engine('openssl')
     self.assertEqual(e.get_name(), 'Software engine support')
     self.assertEqual(e.get_id(), 'openssl')
コード例 #10
0
 def test_by_id_junk(self):
     with self.assertRaises(ValueError):
         Engine.Engine(self.bad_id)
     with self.assertRaises(ValueError):
         Engine.Engine()
コード例 #11
0
ファイル: test_engine.py プロジェクト: micro991/M2Crypto
 def test_load_certificate(self):
     Engine.load_openssl()
     e = Engine.Engine('openssl')
     e.set_default()
     self.assertRaises(Engine.EngineError, e.load_certificate, '/dev/null')