kmsp11/object_store_state.proto (40 lines of code) (raw):
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package cloud_kms.kmsp11;
import "google/cloud/kms/v1/resources.proto";
message ObjectStoreState {
// Keys that should be exposed through the PKCS #11 library.
repeated Key keys = 1;
}
message Key {
// Required. The CryptoKeyVersion proto definition.
google.cloud.kms.v1.CryptoKeyVersion crypto_key_version = 1;
// Optional. The DER-encoded public key in SubjectPublicKeyInfo format.
bytes public_key_der = 2;
// The handle to use for a PKCS #11 CKO_PUBLIC_KEY object.
uint64 public_key_handle = 3;
// The handle to use for a PKCS #11 CKO_PRIVATE_KEY object.
uint64 private_key_handle = 4;
// Optional. An X.509 certificate associated with this key.
Certificate certificate = 5;
// The handle to use for a PKCS #11 CKO_SECRET_KEY object.
uint64 secret_key_handle = 6;
}
message Certificate {
// Required. The DER-encoded X.509 certificate.
bytes x509_der = 1;
// Required. The handle to use for the PKCS #11 CKO_CERTIFICATE object.
uint64 handle = 2;
}