バージョン 1.0.2p コンパイルに失敗しました

バージョン 1.0.2p コンパイルに失敗しました

警告メッセージが表示されますが、リンカエラーが原因でコンパイルが失敗します。

丸太:

#  gcc -Wall -o server server.c -L/usr/lib -lssl -lcrypto
server.c: In function ‘InitServerCTX’:
server.c:62:5: warning: implicit declaration of function ‘SSLv3_method’ [-Wimplicit-function-declaration]
     method = SSLv3_method();
     ^
server.c:62:12: warning: assignment makes pointer from integer without a cast [enabled by default]
     method = SSLv3_method();
            ^
/tmp/ccYwA194.o: In function `InitServerCTX':
server.c:(.text+0xe8): undefined reference to `SSLv3_method'
collect2: error: ld returned 1 exit status
#

opensslバージョン:

# /usr/local/openssl/bin/openssl version
OpenSSL 1.0.2p  14 Aug 2018

答え1

SSL3メソッドは廃止され、最新バージョンのOpenSSL / libsslではサポートされなくなりました。

SSL3ルーチンを実装するためにOpenSSLを使用した以前のソースは、OpenSSLをサポートしなくなりました。

また、すべての最新ブラウザではSSLv3のサポートも中止されました。

Debianの場合、SSLv3のサポートはJessieの人生のどこかで中断されました。 Stretchは0日目以降はサポートしていません。

関連情報