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

Unified Diff: content/child/webcrypto/platform_crypto_openssl.cc

Issue 287133004: [webcrypto] Add JWK import/export of RSA private keys (NSS). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add JWK private key import as well. Created 6 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: content/child/webcrypto/platform_crypto_openssl.cc
diff --git a/content/child/webcrypto/platform_crypto_openssl.cc b/content/child/webcrypto/platform_crypto_openssl.cc
index 1f520e83d276238cd33393c08116ec4753a79ac9..aeefa35403d7681a242deb81ebf08eba02da9568 100644
--- a/content/child/webcrypto/platform_crypto_openssl.cc
+++ b/content/child/webcrypto/platform_crypto_openssl.cc
@@ -381,6 +381,24 @@ Status ImportRsaPublicKey(const blink::WebCryptoAlgorithm& algorithm,
return Status::ErrorUnsupported();
}
+Status ImportRsaPrivateKey(const blink::WebCryptoAlgorithm& algorithm,
+ bool extractable,
+ blink::WebCryptoKeyUsageMask usage_mask,
+ const CryptoData& modulus,
+ const CryptoData& public_exponent,
+ const CryptoData& private_exponent,
+ bool has_prime1,
+ const CryptoData& prime1,
+ bool has_prime2,
+ const CryptoData& prime2,
+ bool has_exponent1,
+ const CryptoData& exponent1,
+ bool has_exponent2,
+ const CryptoData& exponent2,
+ bool has_coefficient,
+ const CryptoData& coefficient,
+ blink::WebCryptoKey* key);
+
Status EncryptDecryptAesGcm(EncryptOrDecrypt mode,
SymKey* key,
const CryptoData& data,
@@ -462,6 +480,19 @@ Status ExportRsaPublicKey(PublicKey* key,
return Status::ErrorUnsupported();
}
+Status ExportRsaPrivateKey(PrivateKey* key,
+ std::vector<uint8>* modulus,
+ std::vector<uint8>* public_exponent,
+ std::vector<uint8>* private_exponent,
+ std::vector<uint8>* prime1,
+ std::vector<uint8>* prime2,
+ std::vector<uint8>* exponent1,
+ std::vector<uint8>* exponent2,
+ std::vector<uint8>* coefficient) {
+ // TODO(eroman): http://crbug.com/267888
+ return Status::ErrorUnsupported();
+}
+
Status WrapSymKeyAesKw(SymKey* key,
SymKey* wrapping_key,
std::vector<uint8>* buffer) {

Powered by Google App Engine
This is Rietveld 408576698