AndroidビルドでOpensslエラー

UE4でgRPCを使うことになり調べた結果以下のプラグインを見つけWindowsでの稼働は確認できました。

次にAndroidでの稼働を確認するため下記のDockerfileを作成
Linux環境でgRPCC++をビルドし*.aファイルを作成しました。
FROM debian:stretch

RUN apt-get update && apt-get install -y \
  build-essential autoconf libtool git pkg-config curl \
  automake libtool curl make g++ unzip cmake wget tar sudo libssl-dev clang libc++-dev \
  && apt-get clean

# jdk install
RUN  apt-get install -y openjdk-8-jre
RUN mkdir /usr/local/android
WORKDIR /usr/local/android
RUN wget https://dl.google.com/android/repository/android-ndk-r21b-linux-x86_64.zip
RUN unzip android-ndk-r21b-linux-x86_64.zip

# install grpc
ENV GRPC_RELEASE_TAG v1.32.x
RUN git clone -b ${GRPC_RELEASE_TAG} https://github.com/grpc/grpc /var/local/git/grpc
WORKDIR /var/local/git/grpc
RUN ls -la
RUN git fetch
RUN git submodule update --init


# install ue4
RUN mkdir /usr/ue4
RUN git clone -b 4.25 https://dwe-tanaka:tanaka4856@github.com/EpicGames/UnrealEngine.git /usr/ue4
RUN cd /usr/ue4 && ./Setup.sh

RUN mkdir /usr/build
WORKDIR /usr/build
RUN cmake /var/local/git/grpc \
    -DCMAKE_TOOLCHAIN_FILE=/usr/local/android/android-ndk-r21b/build/cmake/android.toolchain.cmake \
    -DANDROID_ABI=arm64-v8a \
    -DANDROID_PLATFORM=android-26 \
    -DANDROID_STL=c++_static \
    -DRUN_HAVE_STD_REGEX=0 \
    -DRUN_HAVE_POSIX_REGEX=0 \
    -DRUN_HAVE_STEADY_CLOCK=0 \
    -Dprotobuf_BUILD_TESTS=OFF \
    -DgRPC_RE2_PROVIDER=module \
    -DgRPC_ZLIB_PROVIDER=package \
    -DZLIB_INCLUDE_DIRS=/usr/ue4/Engine/Source/ThirdParty/zlib/v1.2.8/include/Linux/aarch64-unknown-linux-gnueabi \
    -DZLIB_LIBRARIES=/usr/ue4/Engine/Source/ThirdParty/zlib/v1.2.8/lib/Linux/aarch64-unknown-linux-gnueabi/libz.a \
    -DgRPC_SSL_PROVIDER=package \
    -DOPENSSL_VERSION=1.1.1c \
    -DOPENSSL_ROOT_DIR=/usr/ue4/Engine/Source/ThirdParty/OpenSSL \
    -DOPENSSL_INCLUDE_DIR=/usr/ue4/Engine/Source/ThirdParty/OpenSSL/1.1.1c/include/Linux/aarch64-unknown-linux-gnueabi \
    -DOPENSSL_SSL_LIBRARY=/usr/ue4/Engine/Source/ThirdParty/OpenSSL/1.1.1c/lib/Linux/aarch64-unknown-linux-gnueabi/libssl.a \
    -DOPENSSL_CRYPTO_LIBRARY=/usr/ue4/Engine/Source/ThirdParty/OpenSSL/1.1.1c/lib/Linux/aarch64-unknown-linux-gnueabi/libcrypto.a \
    -DCMAKE_BUILD_TYPE=Release 
RUN cmake --build . --target grpc++

※UE4のソースコードのDLとビルドを行っているのでこのまま実行するとめちゃくちゃ時間かかるし容量を食うので注意

生成された*.aファイルをプロジェクトに追加してAndroid (マルチ:ASTC,DXT,ETC2)でパッケージ化を実行したところ以下のエラーで止まりました。

    ld.lld: error: undefined symbol: EVP_MD_CTX_new
    ld.lld: error: undefined symbol: EVP_MD_CTX_free
    .....

調べたところ、*.aをビルドした環境とUE4のopensslのバージョンが食い違っていることで発生しているとわかりました。
UE4のドキュメントに書いてある通りopensslは1.1.1cを使用したのですが、UE4のopensslのビルド設定を見るとAndroidのみ1.0.1が使われるようになっていました。
>Epic Games\UE_4.25\Engine\Source\ThirdParty\OpenSSL\OpenSSL.Build.cs

		else if (Target.Platform == UnrealTargetPlatform.Android || Target.Platform == UnrealTargetPlatform.Lumin)
		{
			string IncludePath = OpenSSL101sPath + "/include/Android";
			PublicIncludePaths.Add(IncludePath);
			// unneeded since included in libcurl
			// string LibPath = Path.Combine(OpenSSL101sPath, "lib", PlatformSubdir);
			//PublicLibraryPaths.Add(LibPath);
		}

これを解消するにはAndroidのみopensslのバージョンを1.0.1にしないといけないのでしょうか
プラットフォームによってバージョンが違うとなると挙動が不安定になりそうで怖いです。
こちらAndroidも1.1.1cを使えるようにする方法など何かないでしょうか。

環境

Windows10_64bit

UnrealEngine4.25

Docker for windows c1.19.3

Engineのコードを書き換えて、OpenSSLのバージョンを変更すればよいかと思います
AndroidのOpenSSLのバージョンに関しては、脆弱性対応程度でしかバージョンアップされていないように見えますね

参考:アプリの OpenSSL の脆弱性への対処方法


OpenSSLのバージョンを入れ替えている記事があったので添付しておきます
おそらく参考になるのではないでしょうか?

ご回答いただきありがとうございます。
教えていただいたページを参考に
・libcurl.aを最新のものへ差し替え
・OpenSSL.Build.csの書き換え
 ⇒Androidビルド時1.1.1を参照するよう修正
・Openssl1.1.1にAndroidフォルダを追加しopenssl_111_androidの中身を移植
を実行した結果、質問文にあったエラーは解消されたのですがPlugin周りで同じようにバージョン違いで発生しているエラーがでました

ld.lld: error: undefined symbol: EVP_MD_CTX_create
>>> referenced by Module.PlatformCryptoOpenSSL.cpp
>>>               C:/Program Files/Epic Games/UE_4.25/Engine/Plugins/Experimental/PlatformCrypto/Intermediate/Build/Android/UE4/Development/PlatformCryptoOpenSSL/Module.PlatformCryptoOpenSSL.cppa8.o:(FEncryptionContextOpenSSL::DigestVerify_PS256(TArrayView<char const>, TArrayView<unsigned char const>, TArrayView<unsigned char const>))

ld.lld: error: undefined symbol: EVP_MD_CTX_destroy
>>> referenced by Module.PlatformCryptoOpenSSL.cpp
>>>               C:/Program Files/Epic Games/UE_4.25/Engine/Plugins/Experimental/PlatformCrypto/Intermediate/Build/Android/UE4/Development/PlatformCryptoOpenSSL/Module.PlatformCryptoOpenSSL.cppa8.o:(FEncryptionContextOpenSSL::DigestVerify_PS256(TArrayView<char const>, TArrayView<unsigned char const>, TArrayView<unsigned char const>))

これらプラグインの修正方法について何かご存じないでしょうか。