Index: content/child/webcrypto/platform_crypto.h |
diff --git a/content/child/webcrypto/platform_crypto.h b/content/child/webcrypto/platform_crypto.h |
index b9f429c1cefeeb05e53bb674d67f8bdb346a86c6..fef82c05618de5c33a756e2284baa0956f9186eb 100644 |
--- a/content/child/webcrypto/platform_crypto.h |
+++ b/content/child/webcrypto/platform_crypto.h |
@@ -194,6 +194,26 @@ Status ImportRsaPublicKey(const blink::WebCryptoAlgorithm& algorithm, |
const CryptoData& exponent_data, |
blink::WebCryptoKey* key); |
+// Preconditions: |
+// * algorithm.id() is for an RSA algorithm. |
+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_exponent, |
+ const CryptoData& exponent1, |
+ bool has_exponent2, |
+ const CryptoData& exponent2, |
+ bool has_coefficient, |
+ const CryptoData& coefficient, |
+ blink::WebCryptoKey* key); |
+ |
// Note that this may be called from target Blink thread. |
Status ImportKeySpki(const blink::WebCryptoAlgorithm& algorithm, |
const CryptoData& key_data, |
@@ -224,6 +244,18 @@ Status ExportRsaPublicKey(PublicKey* key, |
// Preconditions: |
// * |key| is non-null. |
+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); |
+ |
+// Preconditions: |
+// * |key| is non-null. |
Status ExportKeyPkcs8(PrivateKey* key, |
const blink::WebCryptoKeyAlgorithm& key_algorithm, |
std::vector<uint8>* buffer); |