summaryrefslogtreecommitdiff
path: root/src/key/mod.rs
diff options
context:
space:
mode:
authorStuart Stock <stuart@int08h.com>2018-10-06 22:40:12 -0500
committerStuart Stock <stuart@int08h.com>2018-10-07 15:48:23 -0500
commit0b924cc92418f9a210a6b78cef56e427dc9c9d1d (patch)
treea7bb33d3a344d973684e6f0de3e35f956de803db /src/key/mod.rs
parentb43bcb27ad303afd56cfe1d767e95c10cf3d1cb2 (diff)
downloadroughenough-0b924cc92418f9a210a6b78cef56e427dc9c9d1d.zip
Land KMS support, yay!
AWS KMS for now, work-in-progress
Diffstat (limited to 'src/key/mod.rs')
-rw-r--r--src/key/mod.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/key/mod.rs b/src/key/mod.rs
new file mode 100644
index 0000000..a4af975
--- /dev/null
+++ b/src/key/mod.rs
@@ -0,0 +1,41 @@
+// Copyright 2017-2018 int08h 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.
+
+//!
+//! Representations and management of Roughtime's online and long-term Ed25519 keys
+//!
+
+extern crate hex;
+extern crate log;
+
+mod longterm;
+mod online;
+
+pub use self::longterm::LongTermKey;
+pub use self::online::OnlineKey;
+
+#[cfg(feature = "kms")]
+pub mod awskms;
+
+#[derive(Debug, PartialEq, Eq, PartialOrd, Hash, Clone, Copy)]
+pub enum KeyProtection {
+ /// No protection, seed is in plaintext
+ Plaintext,
+
+ /// Envelope encryption of seed by AWS Key Management Service
+ AwsKmsEnvelope,
+
+ /// Envelope encryption of seed by Google Cloud Key Management Service
+ GoogleKmsEnvelope,
+}