1// Copyright 2017 Google Inc. 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 17// Definitions for configuring Tink runtime environment. 18syntax = "proto3"; 19 20package google.crypto.tink; 21 22option java_package = "com.google.crypto.tink.proto"; 23option java_multiple_files = true; 24option go_package = "github.com/google/tink/go/proto/config_go_proto"; 25 26// An entry that describes a key type to be used with Tink library, 27// specifying the corresponding primitive, key manager, and deprecation status. 28// All fields are required. 29message KeyTypeEntry { 30 // KeyTypeEntry is no longer supported. 31 option deprecated = true; 32 33 string primitive_name = 1; // E.g. “Aead”, “Mac”, ... (case-insensitive) 34 string type_url = 2; // Name of the key type. 35 uint32 key_manager_version = 3; // Minimum required version of key manager. 36 bool new_key_allowed = 4; // Can the key manager create new keys? 37 string catalogue_name = 5; // Catalogue to be queried for key manager, 38 // e.g. "Tink", "Custom", ... (case-insensitive) 39} 40 41// A complete configuration of Tink library: a list of key types 42// to be available via the Registry after initialization. 43// All fields are required. 44message RegistryConfig { 45 // RegistryConfig is no longer supported. 46 option deprecated = true; 47 48 string config_name = 1; 49 repeated KeyTypeEntry entry = 2; 50} 51