aboutsummaryrefslogtreecommitdiff
path: root/cc/partial_key_access.h
diff options
context:
space:
mode:
authorwconner <wconner@google.com>2022-09-01 10:43:40 -0700
committerCopybara-Service <copybara-worker@google.com>2022-09-01 10:44:59 -0700
commit37f952e42bb79951856cef0ef84875d6b3d21bb8 (patch)
treeaf2f82a4126d0f847598debd37bd9bc808de0032 /cc/partial_key_access.h
parent9d3dcfa39169354d3fd3bb6d7f8ecde124e5d353 (diff)
downloadtink-37f952e42bb79951856cef0ef84875d6b3d21bb8.tar.gz
Add partial key access for C++.
PiperOrigin-RevId: 471571474
Diffstat (limited to 'cc/partial_key_access.h')
-rw-r--r--cc/partial_key_access.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/cc/partial_key_access.h b/cc/partial_key_access.h
new file mode 100644
index 000000000..f029fafec
--- /dev/null
+++ b/cc/partial_key_access.h
@@ -0,0 +1,41 @@
+// Copyright 2022 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef TINK_PARTIAL_KEY_ACCESS_H_
+#define TINK_PARTIAL_KEY_ACCESS_H_
+
+#include "tink/partial_key_access_token.h"
+
+namespace crypto {
+namespace tink {
+
+// Returns a `PartialKeyAccessToken`.
+//
+// Accessing parts of keys can produce unexpected incompatibilities:
+// https://developers.google.com/tink/design/access_control#accessing_partial_keys
+//
+// This function can be used to access partial key material. Within Google,
+// access to this function is restricted by the build system. Outside of Google,
+// users can search their codebase for `GetPartialKeyAccess()` to find
+// instances where it is used.
+inline PartialKeyAccessToken GetPartialKeyAccess() {
+ return PartialKeyAccessToken();
+}
+
+} // namespace tink
+} // namespace crypto
+
+#endif // TINK_PARTIAL_KEY_ACCESS_H_