Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Unified Diff: src/platform/cryptohome/vault_keyset.h

Issue 2051003: Initial patch from Will. (Closed) Base URL: ssh://git@chromiumos-git/chromiumos
Patch Set: Address style nits. Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/platform/cryptohome/vault_keyset.h
diff --git a/src/platform/cryptohome/vault_keyset.h b/src/platform/cryptohome/vault_keyset.h
new file mode 100644
index 0000000000000000000000000000000000000000..7509162c10a2b6812a62e1e7071a5f190c969bb7
--- /dev/null
+++ b/src/platform/cryptohome/vault_keyset.h
@@ -0,0 +1,54 @@
+// Copyright (c) 2009-2010 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.
+
+#ifndef VAULT_KEYSET_H_
+#define VAULT_KEYSET_H_
+
+#include "cryptohome/entropy_source.h"
+#include "cryptohome/secure_blob.h"
+
+namespace cryptohome {
+
+const char kVaultKeysetSignature[] = "ch";
+
+#define CRYPTOHOME_VAULT_KEYSET_VERSION_MAJOR 1
+#define CRYPTOHOME_VAULT_KEYSET_VERSION_MINOR 0
+
+// VaultKeyset holds the File Encryption Key (FEK) and File Name Encryption Key
+// (FNEK) and their corresponding signatures.
+class VaultKeyset {
+ public:
+ VaultKeyset();
+ VaultKeyset(const SecureBlob& source);
+
+ bool AssignBuffer(const SecureBlob& buffer);
+ SecureBlob ToBuffer() const;
+
+ void CreateRandom(const EntropySource& entropy_source);
+
+ const SecureBlob& FEK() const;
+ const SecureBlob& FEK_SIG() const;
+ const SecureBlob& FEK_SALT() const;
+ const SecureBlob& FNEK() const;
+ const SecureBlob& FNEK_SIG() const;
+ const SecureBlob& FNEK_SALT() const;
+
+ static unsigned int SerializedSize();
+
+ private:
+ SecureBlob fek_;
+ SecureBlob fek_sig_;
+ SecureBlob fek_salt_;
+ SecureBlob fnek_;
+ SecureBlob fnek_sig_;
+ SecureBlob fnek_salt_;
+ unsigned short major_version_;
+ unsigned short minor_version_;
+
+ DISALLOW_COPY_AND_ASSIGN(VaultKeyset);
+};
+
+} // cryptohome
+
+#endif // VAULT_KEYSET_H_

Powered by Google App Engine
This is Rietveld 408576698