Esempio n. 1
0
def register():
    """Registers all Hybrid key managers and wrapper in the Python Registry."""
    tink_bindings.register()
    tink_bindings.register_hpke()

    # Register primitive wrappers.
    core.Registry.register_primitive_wrapper(
        _hybrid_wrapper.HybridDecryptWrapper())
    core.Registry.register_primitive_wrapper(
        _hybrid_wrapper.HybridEncryptWrapper())

    # Register ECIES-AEAD-HKDF key managers.
    decrypt_type_url = (
        'type.googleapis.com/google.crypto.tink.EciesAeadHkdfPrivateKey')
    decrypt_key_manager = core.PrivateKeyManagerCcToPyWrapper(
        tink_bindings.HybridDecryptKeyManager.from_cc_registry(
            decrypt_type_url), _hybrid_decrypt.HybridDecrypt,
        _HybridDecryptCcToPyWrapper)
    core.Registry.register_key_manager(decrypt_key_manager,
                                       new_key_allowed=True)

    encrypt_type_url = (
        'type.googleapis.com/google.crypto.tink.EciesAeadHkdfPublicKey')
    encrypt_key_manager = core.KeyManagerCcToPyWrapper(
        tink_bindings.HybridEncryptKeyManager.from_cc_registry(
            encrypt_type_url), _hybrid_encrypt.HybridEncrypt,
        _HybridEncryptCcToPyWrapper)
    core.Registry.register_key_manager(encrypt_key_manager,
                                       new_key_allowed=True)

    # Register HPKE key managers.
    hpke_decrypt_type_url = (
        'type.googleapis.com/google.crypto.tink.HpkePrivateKey')
    hpke_decrypt_key_manager = core.PrivateKeyManagerCcToPyWrapper(
        tink_bindings.HybridDecryptKeyManager.from_cc_registry(
            hpke_decrypt_type_url), _hybrid_decrypt.HybridDecrypt,
        _HybridDecryptCcToPyWrapper)
    core.Registry.register_key_manager(hpke_decrypt_key_manager,
                                       new_key_allowed=True)

    hpke_encrypt_type_url = (
        'type.googleapis.com/google.crypto.tink.HpkePublicKey')
    hpke_encrypt_key_manager = core.KeyManagerCcToPyWrapper(
        tink_bindings.HybridEncryptKeyManager.from_cc_registry(
            hpke_encrypt_type_url), _hybrid_encrypt.HybridEncrypt,
        _HybridEncryptCcToPyWrapper)
    core.Registry.register_key_manager(hpke_encrypt_key_manager,
                                       new_key_allowed=True)
def register():
    """Registers all signature key managers in the Python registry."""
    tink_bindings.register()

    for key_type_identifier in (
            'EcdsaPrivateKey',
            'Ed25519PrivateKey',
            'RsaSsaPssPrivateKey',
            'RsaSsaPkcs1PrivateKey',
    ):
        type_url = 'type.googleapis.com/google.crypto.tink.' + key_type_identifier
        key_manager = core.PrivateKeyManagerCcToPyWrapper(
            tink_bindings.PublicKeySignKeyManager.from_cc_registry(type_url),
            _public_key_sign.PublicKeySign, _PublicKeySignCcToPyWrapper)
        core.Registry.register_key_manager(key_manager, new_key_allowed=True)

    for key_type_identifier in (
            'EcdsaPublicKey',
            'Ed25519PublicKey',
            'RsaSsaPssPublicKey',
            'RsaSsaPkcs1PublicKey',
    ):
        type_url = 'type.googleapis.com/google.crypto.tink.' + key_type_identifier
        key_manager = core.KeyManagerCcToPyWrapper(
            tink_bindings.PublicKeyVerifyKeyManager.from_cc_registry(type_url),
            _public_key_verify.PublicKeyVerify, _PublicKeyVerifyCcToPyWrapper)
        core.Registry.register_key_manager(key_manager, new_key_allowed=True)

    core.Registry.register_primitive_wrapper(
        _signature_wrapper.PublicKeySignWrapper())
    core.Registry.register_primitive_wrapper(
        _signature_wrapper.PublicKeyVerifyWrapper())
Esempio n. 3
0
def register():
    """Registers all Hybrid key managers and wrapper in the Python Registry."""
    cc_tink_config.register()

    decrypt_type_url = (
        'type.googleapis.com/google.crypto.tink.EciesAeadHkdfPrivateKey')
    decrypt_key_manager = core.PrivateKeyManagerCcToPyWrapper(
        cc_key_manager.HybridDecryptKeyManager.from_cc_registry(
            decrypt_type_url), _hybrid_decrypt.HybridDecrypt,
        _HybridDecryptCcToPyWrapper)
    core.Registry.register_key_manager(decrypt_key_manager,
                                       new_key_allowed=True)
    core.Registry.register_primitive_wrapper(
        _hybrid_wrapper.HybridDecryptWrapper())

    encrypt_type_url = (
        'type.googleapis.com/google.crypto.tink.EciesAeadHkdfPublicKey')
    encrypt_key_manager = core.KeyManagerCcToPyWrapper(
        cc_key_manager.HybridEncryptKeyManager.from_cc_registry(
            encrypt_type_url), _hybrid_encrypt.HybridEncrypt,
        _HybridEncryptCcToPyWrapper)
    core.Registry.register_key_manager(encrypt_key_manager,
                                       new_key_allowed=True)
    core.Registry.register_primitive_wrapper(
        _hybrid_wrapper.HybridEncryptWrapper())
Esempio n. 4
0
def register():
  cc_tink_config.register()

  for key_type_identifier in ('HmacKey', 'AesCmacKey',):
    type_url = 'type.googleapis.com/google.crypto.tink.' + key_type_identifier
    key_manager = core.KeyManagerCcToPyWrapper(
        cc_key_manager.MacKeyManager.from_cc_registry(type_url), _mac.Mac,
        _MacCcToPyWrapper)
    core.Registry.register_key_manager(key_manager, new_key_allowed=True)
  core.Registry.register_primitive_wrapper(_mac_wrapper.MacWrapper())
Esempio n. 5
0
def register():
    """Registers all Hybrid key managers and wrapper in the Python Registry."""
    tink_bindings.register()

    type_url = 'type.googleapis.com/google.crypto.tink.AesSivKey'
    key_manager = core.KeyManagerCcToPyWrapper(
        tink_bindings.DeterministicAeadKeyManager.from_cc_registry(type_url),
        _deterministic_aead.DeterministicAead, _DeterministicAeadCcToPyWrapper)
    core.Registry.register_key_manager(key_manager, new_key_allowed=True)
    core.Registry.register_primitive_wrapper(
        _deterministic_aead_wrapper.DeterministicAeadWrapper())
def register() -> None:
    """Registers all AEAD key managers and AEAD wrapper in the Registry."""
    tink_bindings.register()
    for ident in (
            'AesCtrHmacStreamingKey',
            'AesGcmHkdfStreamingKey',
    ):
        type_url = 'type.googleapis.com/google.crypto.tink.{}'.format(ident)
        key_manager = core.KeyManagerCcToPyWrapper(
            tink_bindings.StreamingAeadKeyManager.from_cc_registry(type_url),
            _streaming_aead.StreamingAead, _StreamingAeadCcToPyWrapper)
        core.Registry.register_key_manager(key_manager, new_key_allowed=True)
Esempio n. 7
0
def register() -> None:
    """Registers all PrfSet key managers and PrfSet wrapper in the Registry."""
    tink_bindings.register()
    for ident in (
            'AesCmacPrfKey',
            'HmacPrfKey',
            'HkdfPrfKey',
    ):
        type_url = 'type.googleapis.com/google.crypto.tink.{}'.format(ident)
        key_manager = core.KeyManagerCcToPyWrapper(
            tink_bindings.PrfKeyManager.from_cc_registry(type_url),
            _prf_set.Prf, PrfCcToPyWrapper)
        core.Registry.register_key_manager(key_manager, new_key_allowed=True)
    core.Registry.register_primitive_wrapper(_prf_set_wrapper.PrfSetWrapper())
Esempio n. 8
0
def register() -> None:
    """Registers Streaming AEAD key managers and the wrapper in the Registry."""
    if six.PY2:
        raise NotImplementedError('StreamingAEAD requires Python 3.')
    tink_bindings.register()
    for ident in (
            'AesCtrHmacStreamingKey',
            'AesGcmHkdfStreamingKey',
    ):
        type_url = 'type.googleapis.com/google.crypto.tink.{}'.format(ident)
        key_manager = core.KeyManagerCcToPyWrapper(
            tink_bindings.StreamingAeadKeyManager.from_cc_registry(type_url),
            _raw_streaming_aead.RawStreamingAead, _StreamingAeadCcToPyWrapper)
        core.Registry.register_key_manager(key_manager, new_key_allowed=True)
    core.Registry.register_primitive_wrapper(
        _streaming_aead_wrapper.StreamingAeadWrapper())
Esempio n. 9
0
def register() -> None:
    """Registers all AEAD key managers and AEAD wrapper in the Registry."""
    cc_tink_config.register()
    for ident in (
            'AesCtrHmacAeadKey',
            'AesGcmKey',
            'AesGcmSivKey',
            'AesEaxKey',
            'XChaCha20Poly1305Key',
            'KmsAeadKey',
            'KmsEnvelopeAeadKey',
    ):
        type_url = 'type.googleapis.com/google.crypto.tink.{}'.format(ident)
        key_manager = core.KeyManagerCcToPyWrapper(
            cc_key_manager.AeadKeyManager.from_cc_registry(type_url),
            _aead.Aead, _AeadCcToPyWrapper)
        core.Registry.register_key_manager(key_manager, new_key_allowed=True)
    core.Registry.register_primitive_wrapper(_aead_wrapper.AeadWrapper())
Esempio n. 10
0
def from_cc_registry(
        type_url: Text
) -> core.KeyManager[_raw_streaming_aead.RawStreamingAead]:
    return core.KeyManagerCcToPyWrapper(
        tink_bindings.StreamingAeadKeyManager.from_cc_registry(type_url),
        _raw_streaming_aead.RawStreamingAead, _StreamingAeadCcToPyWrapper)
Esempio n. 11
0
def from_cc_registry(
        type_url: Text) -> core.KeyManager[_public_key_verify.PublicKeyVerify]:
    return core.KeyManagerCcToPyWrapper(
        cc_key_manager.PublicKeyVerifyKeyManager.from_cc_registry(type_url),
        _public_key_verify.PublicKeyVerify, _PublicKeyVerifyCcToPyWrapper)
def from_cc_registry(
        type_url: Text) -> core.KeyManager[_hybrid_encrypt.HybridEncrypt]:
    return core.KeyManagerCcToPyWrapper(
        cc_key_manager.HybridEncryptKeyManager.from_cc_registry(type_url),
        _hybrid_encrypt.HybridEncrypt, _HybridEncryptCcToPyWrapper)
def from_cc_registry(
    type_url: Text
) -> core.KeyManager[deterministic_aead.DeterministicAead]:
  return core.KeyManagerCcToPyWrapper(
      cc_key_manager.DeterministicAeadKeyManager.from_cc_registry(type_url),
      deterministic_aead.DeterministicAead, _DeterministicAeadCcToPyWrapper)
Esempio n. 14
0
def from_cc_registry(
        type_url: Text) -> core.KeyManager[_streaming_aead.StreamingAead]:
    return core.KeyManagerCcToPyWrapper(
        cc_key_manager.StreamingAeadKeyManager.from_cc_registry(type_url),
        _streaming_aead.StreamingAead, _StreamingAeadCcToPyWrapper)
Esempio n. 15
0
def from_cc_registry(type_url: Text) -> core.KeyManager[mac.Mac]:
    return core.KeyManagerCcToPyWrapper(
        cc_key_manager.MacKeyManager.from_cc_registry(type_url), mac.Mac,
        _MacCcToPyWrapper)
Esempio n. 16
0
def from_cc_registry(type_url: Text) -> core.KeyManager[_aead.Aead]:
    return core.KeyManagerCcToPyWrapper(
        cc_key_manager.AeadKeyManager.from_cc_registry(type_url), _aead.Aead,
        _AeadCcToPyWrapper)