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

Unified Diff: content/renderer/webcrypto/webcrypto_util.h

Issue 118623002: [webcrypto] Add raw symmetric key AES-KW wrap/unwrap for NSS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase and refactor Created 6 years, 10 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: content/renderer/webcrypto/webcrypto_util.h
diff --git a/content/renderer/webcrypto/webcrypto_util.h b/content/renderer/webcrypto/webcrypto_util.h
index 6c790d35235c559c3d10e996247511be4d89d8b0..428fb98e06c08c1078ee95c4de5df2d01355cf08 100644
--- a/content/renderer/webcrypto/webcrypto_util.h
+++ b/content/renderer/webcrypto/webcrypto_util.h
@@ -135,6 +135,11 @@ class CONTENT_EXPORT Status {
// key's modulus).
static Status ErrorDataTooLarge();
+ // The data provided to an encrypt/decrypt/sign/verify operation was too
+ // small. This usually represents an algorithm restriction (for instance
+ // AES-KW requires a minimum of 24 bytes input data).
+ static Status ErrorDataTooSmall();
+
// Something was unsupported or unimplemented. This can mean the algorithm in
// question was unsupported, some parameter combination was unsupported, or
// something has not yet been implemented.
@@ -149,6 +154,10 @@ class CONTENT_EXPORT Status {
// not 32, 64, 96, 104, 112, 120, or 128.
static Status ErrorInvalidAesGcmTagLength();
+ // The input data given to an AES-KW encrypt/decrypt operation was not a
+ // multiple of 8 bytes, as required by RFC 3394.
+ static Status ErrorInvalidAesKwDataLength();
+
// The "publicExponent" used to generate a key was invalid: either no bytes
// were specified, or the number was too large to fit into an "unsigned long"
// (implemention limitation), or the exponent was zero.
@@ -158,6 +167,10 @@ class CONTENT_EXPORT Status {
// is required.
static Status ErrorMissingAlgorithmImportRawKey();
+ // The algorithm was null when unwrapping a raw-formatted key. In this case it
+ // is required.
+ static Status ErrorMissingAlgorithmUnwrapRawKey();
+
// The modulus bytes were empty when importing an RSA public key.
static Status ErrorImportRsaEmptyModulus();

Powered by Google App Engine
This is Rietveld 408576698