apache 使用OpenSSL 3.0.7安装httpd-2.4.57时,Getting EVP_PKEY_get1_EC_KEY'是不推荐使用的错误

lc8prwob  于 2023-04-21  发布在  Apache
关注(0)|答案(1)|浏览(356)

当我试图在httpd中运行make命令时,我得到了下面的错误。
公元前769年25日警告:“EVP_PKEY_get1_EC_KEY”已弃用(声明于/usr/local/ssl/include/openssl/evp.h:1374):由于OpenSSL 3.0 [-Wdeprecated-declarations] EC_KEY *ec = EVP_PKEY_get1_EC_KEY(key);^ ab.c:770:25:警告:'EC_KEY_get0_group'已弃用(声明于/usr/local/ssl/include/openssl/ec.h:1034):Since OpenSSL 3.0 [-Wdeprecated-declarations] int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec));

^

公元前七百七十一年二十五月二十五日警告:'EC_KEY_free'已弃用(声明于/usr/local/ssl/include/openssl/ec.h:1003):由于OpenSSL 3.0 [-Wdeprecated-declarations] EC_KEY_free(ec);^ ab.c:在函数'start_connect'中:公元1431年13月13日警告:'BIO_set_callback'已弃用(声明于/usr/local/ssl/include/openssl/bio.h:279):自OpenSSL 3.0 [-Wdeprecated-declarations] BIO_set_callback(bio,ssl_print_cb);^ /usr/local/apr/build-1/libtool --silent --mode=link gcc -std=gnu11 -g -O2 -pthread
-o ab ab.lo /usr/local/apr/lib/libaprutil-1.la-lexpat /usr/local/apr/lib/libapr-1.la-luuid -lrt -lcrypt -lpthread -ldl -lm -L/usr/local/ssl/lib -lssl -lcrypto -luuid -lrt -lcrypt -lpthread -ldl ab.o:在函数ssl_print_cert_info': /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:676: undefined reference to EVP_PKEY_get_bits' ab.o中:在函数ssl_print_info': /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:707: undefined reference to SSL_get1_peer_certificate' ab.o中:在函数ssl_proceed_handshake': /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:757: undefined reference to EVP_PKEY_get_id' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:783中:EVP_PKEY_get_bits' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:783: undefined reference to EVP_PKEY_get_id' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c的未定义引用:740:对SSL_get1_peer_certificate' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:742: undefined reference to EVP_PKEY_get_bits的未定义引用' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:763:对EVP_PKEY_get_bits' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:759: undefined reference to EVP_PKEY_get_bits的未定义引用' /home/essadmin/apache-src/httpd-2.4.57/support/ab.c:776:对EVP_PKEY_get_bits' collect2: error: ld returned 1 exit status make[2]: *** [ab] Error 1 make[2]: Leaving directory/home/essadmin/apache-src/httpd-2.4.57/support' make[1]的未定义引用:***[all-recursive] Error 1 make[1]:离开目录`/home/essadmin/apache-src/httpd-2.4.57/support' make:***[all-recursive]错误1
OpenSSL版本- 3.0.7
Httpd版本- httpd-2.4.57

ecbunoof

ecbunoof1#

我们得到这个错误是由于/usr/local/ssl/lib目录中的库不匹配,其中libcrypto.so和libssl.so指向openssl 1.1 v so文件。
因此,当我们编译httpd时,它会收到错误,因为它引用了旧的库,这些库具有不推荐的方法。因此,一旦我们将正确的librcypto.so和libssl.so文件复制到/usr/local/ssl/lib文件夹,错误就得到了解决。因此,在那之后,我们能够使用Http2.4.57配置OpenSSL 3.0,没有任何问题。

相关问题