本文主要是介绍openssl 1.1.1 build, 上层应用option选项及openssl s_client 用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【build】
./Configure linux-x86_64 --prefix=/usr shared
如果想提供zlib压缩,那么可以加zlib参数:
./Configure linux-x86_64 --prefix=/usr shared zlib
make
make install
如果报错BIO_f_zlib找不到,那么查看一下libcrypto.so.1.1,libcrypto.a等等目录是否正确,比如:
./usr/local/lib64/libcrypto.so.1.1
./usr/local/lib64/pkgconfig/libcrypto.pc
./usr/local/lib64/libcrypto.a
./usr/local/lib64/libcrypto.so
./usr/lib64/libcrypto.so.1.1
./usr/lib64/pkgconfig/libcrypto.pc
./usr/lib64/libcrypto.a
./usr/lib64/libcrypto.so
如果没有,可以将openssl-1.1.1目录下面build好的libcrypto库文件拷贝到正确的目录下面。
查看版本: openssl version -a
查看disable的功能:openssl list -disabled,结果比如:
[lxx@localhost sipp]$ openssl list -disabled
Disabled algorithms:
HEARTBEATS
MD2
RC5
SCTP
SSL3
【上层应用option选项】
具体option可以参考https://www.openssl.org/docs/man1.1.1/man3/
常用:SSL_CTX_set_options, SSL_clear_options
比如:对于上层应用来说,默认是不支持ssl compression的,如果需要修改,可以设置:
SSL_CTX* ssl_ctx = SSL_CTX_new(TLSv1_2_method());
SSL_CTX_clear_options(ssl_ctx, SSL_OP_NO_COMPRESSION);
比如:默认是支持session resumption的,可以将其禁止(同时禁止session id以及session ticket):
SSL_CTX_set_session_cache_mode(ssl_ctx, SSL_SESS_CACHE_OFF);
SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_TICKET | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
SSL_CTX_set_num_tickets(ssl_ctx, 0);
【openssl s_client用法】
openssl s_client [-connect host:port] [-verify depth] [-cert filename] [-key filename] [-CApath directory] [-CAfile filename] [-reconnect] [-pause] [-showcerts] [-debug] [-nbio_test] [-state] [-nbio] [-crlf] [-ign_eof] [-quiet] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3] [-no_tls1] [-bugs] [-cipher cipherlist] [-rand file(s)]
参考:
https://www.openssl.org/docs/man1.1.1/man3/
https://www.mkssoftware.com/docs/man1/openssl_s_client.1.asp
这篇关于openssl 1.1.1 build, 上层应用option选项及openssl s_client 用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!