1// Copyright 2019 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15//////////////////////////////////////////////////////////////////////////////// 16 17package testutil 18 19const ( 20 // AEAD 21 22 // AESCTRHMACAEADKeyVersion is the maximal version of AES-CTR-HMAC-AEAD keys that Tink supports. 23 AESCTRHMACAEADKeyVersion = 0 24 // AESCTRHMACAEADTypeURL is the type URL of AES-CTR-HMAC-AEAD keys that Tink supports. 25 AESCTRHMACAEADTypeURL = "type.googleapis.com/google.crypto.tink.AesCtrHmacAeadKey" 26 27 // AESGCMKeyVersion is the maximal version of AES-GCM keys. 28 AESGCMKeyVersion = 0 29 // AESGCMTypeURL is the type URL of AES-GCM keys that Tink supports. 30 AESGCMTypeURL = "type.googleapis.com/google.crypto.tink.AesGcmKey" 31 32 // AESGCMSIVKeyVersion is the maximal version of AES-GCM-SIV keys. 33 AESGCMSIVKeyVersion = 0 34 // AESGCMSIVTypeURL is the type URL of AES-GCM-SIV keys that Tink supports. 35 AESGCMSIVTypeURL = "type.googleapis.com/google.crypto.tink.AesGcmSivKey" 36 37 // ChaCha20Poly1305KeyVersion is the maximal version of ChaCha20Poly1305 keys that Tink supports. 38 ChaCha20Poly1305KeyVersion = 0 39 // ChaCha20Poly1305TypeURL is the type URL of ChaCha20Poly1305 keys. 40 ChaCha20Poly1305TypeURL = "type.googleapis.com/google.crypto.tink.ChaCha20Poly1305Key" 41 42 // KMSEnvelopeAEADKeyVersion is the maximal version of KMSEnvelopeAEAD keys that Tink supports. 43 KMSEnvelopeAEADKeyVersion = 0 44 // KMSEnvelopeAEADTypeURL is the type URL of KMSEnvelopeAEAD keys. 45 KMSEnvelopeAEADTypeURL = "type.googleapis.com/google.crypto.tink.KmsEnvelopeAeadKey" 46 47 // XChaCha20Poly1305KeyVersion is the maximal version of XChaCha20Poly1305 keys that Tink supports. 48 XChaCha20Poly1305KeyVersion = 0 49 // XChaCha20Poly1305TypeURL is the type URL of XChaCha20Poly1305 keys. 50 XChaCha20Poly1305TypeURL = "type.googleapis.com/google.crypto.tink.XChaCha20Poly1305Key" 51 52 // EciesAeadHkdfPrivateKeyKeyVersion is the maximal version of keys that this key manager supports. 53 EciesAeadHkdfPrivateKeyKeyVersion = 0 54 55 // EciesAeadHkdfPrivateKeyTypeURL is the url that this key manager supports. 56 EciesAeadHkdfPrivateKeyTypeURL = "type.googleapis.com/google.crypto.tink.EciesAeadHkdfPrivateKey" 57 58 // EciesAeadHkdfPublicKeyKeyVersion is the maximal version of keys that this key manager supports. 59 EciesAeadHkdfPublicKeyKeyVersion = 0 60 61 // EciesAeadHkdfPublicKeyTypeURL is the url that this key manager supports. 62 EciesAeadHkdfPublicKeyTypeURL = "type.googleapis.com/google.crypto.tink.EciesAeadHkdfPublicKey" 63 64 // DeterministicAEAD 65 66 // AESSIVKeyVersion is the maximal version of AES-SIV keys that Tink supports. 67 AESSIVKeyVersion = 0 68 // AESSIVTypeURL is the type URL of AES-SIV keys. 69 AESSIVTypeURL = "type.googleapis.com/google.crypto.tink.AesSivKey" 70 71 // MAC 72 73 // HMACKeyVersion is the maximal version of HMAC keys that Tink supports. 74 HMACKeyVersion = 0 75 // HMACTypeURL is the type URL of HMAC keys. 76 HMACTypeURL = "type.googleapis.com/google.crypto.tink.HmacKey" 77 // AESCMACKeyVersion is the maximal version of HMAC keys that Tink supports. 78 AESCMACKeyVersion = 0 79 // AESCMACTypeURL is the type URL of AES-CMAC keys. 80 AESCMACTypeURL = "type.googleapis.com/google.crypto.tink.AesCmacKey" 81 82 // PRF Set 83 84 // AESCMACPRFKeyVersion is the maximal version of AES CMAC PRF keys that Tink supports. 85 AESCMACPRFKeyVersion = 0 86 // AESCMACPRFTypeURL is the type URL of AES CMAC PRF keys. 87 AESCMACPRFTypeURL = "type.googleapis.com/google.crypto.tink.AesCmacPrfKey" 88 89 // HKDFPRFKeyVersion is the maximal version of HKDF PRF keys that Tink supports. 90 HKDFPRFKeyVersion = 0 91 // HKDFPRFTypeURL is the type URL of HKDF PRF keys. 92 HKDFPRFTypeURL = "type.googleapis.com/google.crypto.tink.HkdfPrfKey" 93 94 // HMACPRFKeyVersion is the maximal version of HMAC PRF keys that Tink supports. 95 HMACPRFKeyVersion = 0 96 // HMACPRFTypeURL is the type URL of HMAC PRF keys. 97 HMACPRFTypeURL = "type.googleapis.com/google.crypto.tink.HmacPrfKey" 98 99 // Digital signatures 100 101 // ECDSASignerKeyVersion is the maximum version of ECDSA private keys that Tink supports. 102 ECDSASignerKeyVersion = 0 103 // ECDSASignerTypeURL is the type URL of ECDSA private keys. 104 ECDSASignerTypeURL = "type.googleapis.com/google.crypto.tink.EcdsaPrivateKey" 105 106 // ECDSAVerifierKeyVersion is the maximum version of ECDSA public keys that Tink supports. 107 ECDSAVerifierKeyVersion = 0 108 // ECDSAVerifierTypeURL is the type URL of ECDSA public keys. 109 ECDSAVerifierTypeURL = "type.googleapis.com/google.crypto.tink.EcdsaPublicKey" 110 111 // ED25519SignerKeyVersion is the maximum version of ED25519 private keys that Tink supports. 112 ED25519SignerKeyVersion = 0 113 // ED25519SignerTypeURL is the type URL of ED25519 private keys. 114 ED25519SignerTypeURL = "type.googleapis.com/google.crypto.tink.Ed25519PrivateKey" 115 116 // ED25519VerifierKeyVersion is the maximum version of ED25519 public keys that Tink supports. 117 ED25519VerifierKeyVersion = 0 118 // ED25519VerifierTypeURL is the type URL of ED25519 public keys. 119 ED25519VerifierTypeURL = "type.googleapis.com/google.crypto.tink.Ed25519PublicKey" 120 121 // Streaming AEAD 122 123 // AESGCMHKDFKeyVersion is the maximum version of AES-GCM-HKDF keys that Tink supports. 124 AESGCMHKDFKeyVersion = 0 125 // AESGCMHKDFTypeURL is the type URL of AES-GCM-HKDF keys that Tink supports. 126 AESGCMHKDFTypeURL = "type.googleapis.com/google.crypto.tink.AesGcmHkdfStreamingKey" 127 128 // AESCTRHMACKeyVersion is the maximum version of AES-CTR-HMAC keys that Tink supports. 129 AESCTRHMACKeyVersion = 0 130 // AESCTRHMACTypeURL is the type URL of AES-CTR-HMAC keys that Tink supports. 131 AESCTRHMACTypeURL = "type.googleapis.com/google.crypto.tink.AesCtrHmacStreamingKey" 132) 133