def _check_error(self, value): if value != CKR_OK: code = ERROR_CODES.get(value, 'CKR_????') hex_code = "{hex} {code}".format(hex=hex(value), code=code) if code == 'CKR_TOKEN_NOT_PRESENT': raise exception.P11CryptoTokenException(slot_id=self.slot_id) raise exception.P11CryptoPluginException(u._( "HSM returned response code: {code}").format(code=hex_code))
def _check_error(self, value): if value != CKR_OK and value != CKR_CRYPTOKI_ALREADY_INITIALIZED: code = ERROR_CODES.get(value, 'CKR_????') hex_code = "{hex} {code}".format(hex=hex(value), code=code) if code == 'CKR_TOKEN_NOT_PRESENT': raise exception.P11CryptoTokenException(slot_id=self.slot_id) if code == 'EHOSTUNREACH': raise exception.TrustwayProteccioException( "Trustway Proteccio Error: {code}".format(code=hex_code)) raise exception.P11CryptoPluginException( u._("HSM returned response code: {code}").format( code=hex_code))
def test_call_pkcs11_with_token_error(self): self.plugin._encrypt = mock.Mock() self.plugin._encrypt.side_effect = [ ex.P11CryptoTokenException('Testing error handling'), 'test payload' ] self.plugin._reinitialize_pkcs11 = mock.Mock() self.plugin._reinitialize_pkcs11.return_value = mock.DEFAULT self.plugin.encrypt(mock.MagicMock(), mock.MagicMock(), mock.MagicMock()) self.assertEqual(2, self.pkcs11.get_key_handle.call_count) self.assertEqual(1, self.pkcs11.get_session.call_count) self.assertEqual(0, self.pkcs11.return_session.call_count) self.assertEqual(2, self.plugin._encrypt.call_count)