| Index: content/child/webcrypto/openssl/util_openssl.h
|
| diff --git a/content/child/webcrypto/openssl/util_openssl.h b/content/child/webcrypto/openssl/util_openssl.h
|
| index 49277fdedd49c6ef173ba8f76aa0a4879563410b..1dfc9dbb21577a73d51cd59823c36e0739de5809 100644
|
| --- a/content/child/webcrypto/openssl/util_openssl.h
|
| +++ b/content/child/webcrypto/openssl/util_openssl.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include <openssl/ossl_typ.h>
|
|
|
| +#include "crypto/scoped_openssl_types.h"
|
| #include "third_party/WebKit/public/platform/WebCryptoAlgorithm.h"
|
| #include "third_party/WebKit/public/platform/WebCryptoKey.h"
|
|
|
| @@ -38,6 +39,40 @@ Status AeadEncryptDecrypt(EncryptOrDecrypt mode,
|
| const EVP_AEAD* aead_alg,
|
| std::vector<uint8_t>* buffer);
|
|
|
| +// Creates a WebCrypto public key given an EVP_PKEY. This step includes
|
| +// exporting the key to SPKI format, for use by serialization later.
|
| +Status CreateWebCryptoPublicKey(
|
| + crypto::ScopedEVP_PKEY public_key,
|
| + const blink::WebCryptoKeyAlgorithm& algorithm,
|
| + bool extractable,
|
| + blink::WebCryptoKeyUsageMask usages,
|
| + blink::WebCryptoKey* key);
|
| +
|
| +// Creates a WebCrypto private key given an EVP_PKEY. This step includes
|
| +// exporting the key to PKCS8 format, for use by serialization later.
|
| +Status CreateWebCryptoPrivateKey(
|
| + crypto::ScopedEVP_PKEY private_key,
|
| + const blink::WebCryptoKeyAlgorithm& algorithm,
|
| + bool extractable,
|
| + blink::WebCryptoKeyUsageMask usages,
|
| + blink::WebCryptoKey* key);
|
| +
|
| +// Imports SPKI bytes to an EVP_PKEY for a public key. The resulting asymmetric
|
| +// key may be invalid, and should be verified using something like
|
| +// RSA_check_key(). The only validation performed by this function is to ensure
|
| +// the key type matched |expected_pkey_id|.
|
| +Status ImportUnverifiedPkeyFromSpki(const CryptoData& key_data,
|
| + int expected_pkey_id,
|
| + crypto::ScopedEVP_PKEY* pkey);
|
| +
|
| +// Imports PKCS8 bytes to an EVP_PKEY for a private key. The resulting
|
| +// asymmetric key may be invalid, and should be verified using something like
|
| +// RSA_check_key(). The only validation performed by this function is to ensure
|
| +// the key type matched |expected_pkey_id|.
|
| +Status ImportUnverifiedPkeyFromPkcs8(const CryptoData& key_data,
|
| + int expected_pkey_id,
|
| + crypto::ScopedEVP_PKEY* pkey);
|
| +
|
| } // namespace webcrypto
|
|
|
| } // namespace content
|
|
|