diff --git a/Libraries/LibCrypto/OpenSSL.cpp b/Libraries/LibCrypto/OpenSSL.cpp index ec01cc83670..e7b4a529cac 100644 --- a/Libraries/LibCrypto/OpenSSL.cpp +++ b/Libraries/LibCrypto/OpenSSL.cpp @@ -6,10 +6,27 @@ #include #include + +#include #include namespace Crypto { +ErrorOr OpenSSL_BN::create() +{ + return OpenSSL_BN(OPENSSL_TRY_PTR(BN_new())); +} + +ErrorOr OpenSSL_PKEY::create() +{ + return OpenSSL_PKEY(OPENSSL_TRY_PTR(EVP_PKEY_new())); +} + +ErrorOr OpenSSL_MD_CTX::create() +{ + return OpenSSL_MD_CTX(OPENSSL_TRY_PTR(EVP_MD_CTX_new())); +} + ErrorOr unsigned_big_integer_to_openssl_bignum(UnsignedBigInteger const& integer) { auto bn = TRY(OpenSSL_BN::create()); diff --git a/Libraries/LibCrypto/OpenSSL.h b/Libraries/LibCrypto/OpenSSL.h index 16047b00fe6..b14f6b0ff70 100644 --- a/Libraries/LibCrypto/OpenSSL.h +++ b/Libraries/LibCrypto/OpenSSL.h @@ -88,20 +88,14 @@ class OpenSSL_BN { OPENSSL_WRAPPER_CLASS(OpenSSL_BN, BIGNUM, BN); public: - static ErrorOr create() - { - return OpenSSL_BN(OPENSSL_TRY_PTR(BN_new())); - } + static ErrorOr create(); }; class OpenSSL_PKEY { OPENSSL_WRAPPER_CLASS(OpenSSL_PKEY, EVP_PKEY, EVP_PKEY); public: - static ErrorOr create() - { - return OpenSSL_PKEY(OPENSSL_TRY_PTR(EVP_PKEY_new())); - } + static ErrorOr create(); }; class OpenSSL_PKEY_CTX { @@ -112,10 +106,7 @@ class OpenSSL_MD_CTX { OPENSSL_WRAPPER_CLASS(OpenSSL_MD_CTX, EVP_MD_CTX, EVP_MD_CTX); public: - static ErrorOr create() - { - return OpenSSL_MD_CTX(OPENSSL_TRY_PTR(EVP_MD_CTX_new())); - } + static ErrorOr create(); }; #undef OPENSSL_WRAPPER_CLASS