keymaster: add proto definitions

TODO: the android build environment is
not correctly picking up generated srcs
when more than one proto file is used.

Change-Id: Id100c4bb450ed19c240ec6119ea29665b19fb012
diff --git a/nugget/services/keymaster/keymaster_types.proto b/nugget/services/keymaster/keymaster_types.proto
new file mode 100644
index 0000000..fd0d24a
--- /dev/null
+++ b/nugget/services/keymaster/keymaster_types.proto
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * 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 nugget.app.keymaster;
+
+message KeyParameter {
+	uint32 tag = 1; 	/* Possible values defined here
+				 * ::android::hardware::keymaster::V3_0::Tag
+				 */
+	bool boolean = 2;
+	uint32 integer = 3;
+	uint64 long_integer = 4;
+	uint64 date_time = 5;
+	bytes blob = 6;
+}
+
+message KeyParameters {
+	repeated KeyParameter params = 1;
+}
+
+message KeyBlob {
+	bytes blob = 1;
+}
+
+message OperationHandle {
+	bytes handle = 1;
+}
+
+message Certificate {
+	bytes data = 1;
+}
+
+message CertificateChain {
+	repeated Certificate certificates = 1;
+}
+
+message KeyCharacteristics {
+	KeyParameters software_forced = 1;
+	KeyParameters tee_enforced = 2;
+}