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