Crate tink_proto
source ·Expand description
Protocol buffer message definitions for Tink.
Almost all of the code in this crate is auto-generated (using prost) from the protocol
buffer message definitions in the proto/
subdirectory. These .proto
files are copies from
the upstream Tink project.
Re-exports
pub use prost;
Modules
- json
json
Manual keyset serialization implementations that map enums onto strings rather than thei32
values used by prost. - Nested message and enum types in
JwtHmacKey
. - Nested message and enum types in
KeyData
. - Nested message and enum types in
Keyset
. - Nested message and enum types in
KeysetInfo
.
Structs
- key_type: type.googleapis.com/google.crypto.tink.AesCmacKey
- key_type: type.googleapis.com/google.crypto.tink.AesCmacPrfKey
- key_type: type.googleapis.com/google.crypto.tink.AesCtrHmacAeadKey
- key_type: type.googleapis.com/google.crypto.tink.AesCtrHmacStreamingKey
- key_type: type.googleapis.com/google.crypto.tink.AesCtrKey
- key_type: type.googleapis.com/google.crypto.tink.AesEaxKey
- only allowing tag size in bytes = 16
- key_type: type.googleapis.com/google.crypto.tink.AesGcmHkdfStreamingKey
- key_type: type.googleapis.com/google.crypto.tink.AesGcmKey
- only allowing IV size in bytes = 12 and tag size in bytes = 16 Thus, accept no params.
- key_type: type.googleapis.com/google.crypto.tink.AesGcmSivKey
- The only allowed IV size is 12 bytes and tag size is 16 bytes. Thus, accept no params.
- key_type: type.googleapis.com/google.crypto.tink.AesSivKey
- key_type: type.googleapis.com/google.crypto.tink.ChaCha20Poly1305. This key type actually implements ChaCha20Poly1305 as described at https://tools.ietf.org/html/rfc7539#section-2.8.
- Protos for Ecdsa.
- key_type: type.googleapis.com/google.crypto.tink.EcdsaPrivateKey
- key_type: type.googleapis.com/google.crypto.tink.EcdsaPublicKey
- Parameters of AEAD DEM (Data Encapsulation Mechanism).
- EciesKdfAeadPrivateKey represents HybridDecryption primitive. key_type: type.googleapis.com/google.crypto.tink.EciesAeadHkdfPrivateKey
- EciesAeadHkdfPublicKey represents HybridEncryption primitive. key_type: type.googleapis.com/google.crypto.tink.EciesAeadHkdfPublicKey
- Parameters of KEM (Key Encapsulation Mechanism)
- key_type: type.googleapis.com/google.crypto.tink.Ed25519PrivateKey
- key_type: type.googleapis.com/google.crypto.tink.Ed25519PublicKey
- Represents a keyset that is encrypted with a master key.
- key_type: type.googleapis.com/google.crypto.tink.HmacKey
- key_type: type.googleapis.com/google.crypto.tink.HmacPrfKey
- key_type: type.googleapis.com/google.crypto.tink.JwtHmacKey
- The actual *Key-proto is wrapped in a KeyData message, which in addition to this serialized proto contains also type_url identifying the definition of *Key-proto (as in KeyFormat-message), and some extra metadata about the type key material.
- An entry that describes a key type to be used with Tink library, specifying the corresponding primitive, key manager, and deprecation status. All fields are required.
- A Tink user works usually not with single keys, but with keysets, to enable key rotation. The keys in a keyset can belong to different implementations/key types, but must all implement the same primitive. Any given keyset (and any given key) can be used for one primitive only.
- Represents a “safe” Keyset that doesn’t contain any actual key material, thus can be used for logging or monitoring. Most fields are copied from Keyset.
- There is no actual key material in the key.
- There is no actual key material in the key.
- key_type: type.googleapis.com/google.crypto.tink.PrfBasedDeriverKey
- A complete configuration of Tink library: a list of key types to be available via the Registry after initialization. All fields are required.
- key_type: type.googleapis.com/google.crypto.tink.RsaSsaPkcs1PrivateKey
- key_type: type.googleapis.com/google.crypto.tink.RsaSsaPkcs1PublicKey
- key_type: type.googleapis.com/google.crypto.tink.RsaSsaPssPrivateKey
- key_type: type.googleapis.com/google.crypto.tink.RsaSsaPssPublicKey
- key_type: type.googleapis.com/google.crypto.tink.XChaCha20Poly1305Key
Enums
- Tink produces and accepts ciphertexts or signatures that consist of a prefix and a payload. The payload and its format is determined entirely by the primitive, but the prefix has to be one of the following 4 types: