blob: 09b82dc2ac847e013e86216ce2b1eaab24f2b2bf [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package arc.keymaster.context;
// Standard ARC++ key material.
message ArcKeyData {
// Blob containing the actual key material.
bytes key_material = 1;
}
// Metadata holder for keys owned by chaps.
message ChapsKeyData {
// PKCS#11 ID (CKA_ID).
bytes id = 1;
// PKCS#11 label (CKA_LABEL).
string label = 2;
}
// Extensible structure for key data from diverse sources.
message KeyData {
// Sets of Keymaster tags.
bytes hw_enforced_tags = 1;
bytes sw_enforced_tags = 2;
// Source-specific key data.
oneof data {
// Data for ARC++ KeyStore keys.
ArcKeyData arc_key = 3;
// Data for chaps owned keys.
ChapsKeyData chaps_key = 4;
}
}