diff --git a/security/openssl/Makefile b/security/openssl/Makefile index ab678c4087b1..d97a9cc929d3 100644 --- a/security/openssl/Makefile +++ b/security/openssl/Makefile @@ -1,169 +1,168 @@ # Created by: Dirk Froemberg PORTNAME= openssl -PORTVERSION= 1.1.1k -PORTREVISION= 1 +PORTVERSION= 1.1.1l PORTEPOCH= 1 CATEGORIES= security devel MASTER_SITES= https://www.openssl.org/source/ \ ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/ MAINTAINER= brnrd@FreeBSD.org COMMENT= TLSv1.3 capable SSL and crypto library LICENSE= OpenSSL LICENSE_FILE= ${WRKSRC}/LICENSE CONFLICTS_INSTALL= libressl-[0-9]* \ libressl-devel-[0-9]* \ openssl-devel-[0-9]* HAS_CONFIGURE= yes CONFIGURE_SCRIPT= config CONFIGURE_ENV= PERL="${PERL}" CONFIGURE_ARGS= --openssldir=${OPENSSLDIR} \ --prefix=${PREFIX} USES= cpe perl5 USE_PERL5= build TEST_TARGET= test LDFLAGS_i386= -Wl,-znotext MAKE_ARGS+= WHOLE_ARCHIVE_FLAG=--whole-archive CNF_LDFLAGS="${LDFLAGS}" MAKE_ENV+= LIBRPATH="${PREFIX}/lib" GREP_OPTIONS= OPTIONS_GROUP= CIPHERS HASHES OPTIMIZE PROTOCOLS OPTIONS_GROUP_CIPHERS= ARIA DES GOST IDEA SM4 RC2 RC4 RC5 WEAK-SSL-CIPHERS OPTIONS_GROUP_HASHES= MD2 MD4 MDC2 RMD160 SM2 SM3 OPTIONS_GROUP_OPTIMIZE= ASM SSE2 THREADS OPTIONS_DEFINE_i386= I386 OPTIONS_GROUP_PROTOCOLS=NEXTPROTONEG SCTP SSL3 TLS1 TLS1_1 TLS1_2 OPTIONS_DEFINE= ASYNC CRYPTODEV CT KTLS MAN3 RFC3779 SHARED ZLIB OPTIONS_DEFAULT=ASM ASYNC CT GOST DES EC KTLS MAN3 MD4 NEXTPROTONEG RC2 \ RC4 RMD160 SCTP SHARED SSE2 THREADS TLS1 TLS1_1 TLS1_2 OPTIONS_EXCLUDE=${${OSVERSION} < 1300042:?KTLS:} \ ${${OSVERSION} > 1300000:?CRYPTODEV:} OPTIONS_GROUP_OPTIMIZE_amd64= EC .if ${MACHINE_ARCH} == "amd64" OPTIONS_GROUP_OPTIMIZE+= EC .elif ${MACHINE_ARCH} == "mips64el" OPTIONS_GROUP_OPTIMIZE+= EC .endif OPTIONS_SUB= yes ARIA_DESC= ARIA (South Korean standard) ASM_DESC= Assembler code ASYNC_DESC= Asynchronous mode CIPHERS_DESC= Block Cipher Support CRYPTODEV_DESC= /dev/crypto support CT_DESC= Certificate Transparency Support DES_DESC= (Triple) Data Encryption Standard EC_DESC= Optimize NIST elliptic curves GOST_DESC= GOST (Russian standard) HASHES_DESC= Hash Function Support I386_DESC= i386 (instead of i486+) IDEA_DESC= International Data Encryption Algorithm KTLS_DESC= Kernel TLS offload MAN3_DESC= Install API manpages (section 3, 7) MD2_DESC= MD2 (obsolete) MD4_DESC= MD4 (unsafe) MDC2_DESC= MDC-2 (patented, requires DES) NEXTPROTONEG_DESC= Next Protocol Negotiation (SPDY) OPTIMIZE_DESC= Optimizations PROTOCOLS_DESC= Protocol Support RC2_DESC= RC2 (unsafe) RC4_DESC= RC4 (unsafe) RC5_DESC= RC5 (patented) RMD160_DESC= RIPEMD-160 RFC3779_DESC= RFC3779 support (BGP) SCTP_DESC= SCTP (Stream Control Transmission) SHARED_DESC= Build shared libraries SM2_DESC= SM2 Elliptic Curve DH (Chinese standard) SM3_DESC= SM3 256bit (Chinese standard) SM4_DESC= SM4 128bit (Chinese standard) SSE2_DESC= Runtime SSE2 detection SSL3_DESC= SSLv3 (unsafe) TLS1_DESC= TLSv1.0 (requires TLS1_1, TLS1_2) TLS1_1_DESC= TLSv1.1 (requires TLS1_2) TLS1_2_DESC= TLSv1.2 WEAK-SSL-CIPHERS_DESC= Weak cipher support (unsafe) # Upstream default disabled options .for _option in ktls md2 rc5 sctp ssl3 zlib weak-ssl-ciphers ${_option:tu}_CONFIGURE_ON= enable-${_option} .endfor # Upstream default enabled options .for _option in aria asm async ct des gost idea md4 mdc2 nextprotoneg rc2 rc4 \ rfc3779 rmd160 shared sm2 sm3 sm4 sse2 threads tls1 tls1_1 tls1_2 ${_option:tu}_CONFIGURE_OFF= no-${_option} .endfor MDC2_IMPLIES= DES TLS1_IMPLIES= TLS1_1 TLS1_1_IMPLIES= TLS1_2 EC_CONFIGURE_ON= enable-ec_nistp_64_gcc_128 I386_CONFIGURE_ON= 386 KTLS_EXTRA_PATCHES= ${FILESDIR}/extra-patch-ktls MAN3_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-util_process__docs.pl SHARED_MAKE_ENV= SHLIBVER=${OPENSSL_SHLIBVER} SHARED_PLIST_SUB= SHLIBVER=${OPENSSL_SHLIBVER} SHARED_USE= ldconfig=yes SSL3_CONFIGURE_ON+= enable-ssl3-method ZLIB_CONFIGURE_ON= zlib-dynamic .include .if ${PREFIX} == /usr IGNORE= the OpenSSL port can not be installed over the base version .endif .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1300000 && !${PORT_OPTIONS:MCRYPTODEV} CONFIGURE_ARGS+= no-devcryptoeng .endif OPENSSLDIR?= ${PREFIX}/openssl PLIST_SUB+= OPENSSLDIR=${OPENSSLDIR:S=^${PREFIX}/==} .include "version.mk" .if ${PORT_OPTIONS:MASM} BROKEN_sparc64= option ASM generates illegal instructions .endif post-patch: ${REINPLACE_CMD} \ -e 's|^MANDIR=.*$$|MANDIR=$$(INSTALLTOP)/man|' \ -e 's| install_html_docs$$||' \ -e 's|$$(LIBDIR)/pkgconfig|libdata/pkgconfig|g' \ ${WRKSRC}/Configurations/unix-Makefile.tmpl ${REINPLACE_CMD} -e 's|\^GNU ld|GNU|' ${WRKSRC}/Configurations/shared-info.pl post-configure: ${REINPLACE_CMD} \ -e 's|SHLIB_VERSION_NUMBER=1.1|SHLIB_VERSION_NUMBER=${OPENSSL_SHLIBVER}|' \ ${WRKSRC}/Makefile ${REINPLACE_CMD} \ -e 's|SHLIB_VERSION_NUMBER "1.1"|SHLIB_VERSION_NUMBER "${OPENSSL_SHLIBVER}"|' \ ${WRKSRC}/include/openssl/opensslv.h post-install-SHARED-on: .for i in libcrypto libssl ${INSTALL_LIB} ${WRKSRC}/$i.so.${OPENSSL_SHLIBVER} ${STAGEDIR}${PREFIX}/lib ${LN} -sf $i.so.${OPENSSL_SHLIBVER} ${STAGEDIR}${PREFIX}/lib/$i.so .endfor .for i in capi padlock ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/engines-1.1/${i}.so .endfor post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/openssl .include diff --git a/security/openssl/distinfo b/security/openssl/distinfo index 181ff679f5fb..ea60c25fc735 100644 --- a/security/openssl/distinfo +++ b/security/openssl/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1616688925 -SHA256 (openssl-1.1.1k.tar.gz) = 892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5 -SIZE (openssl-1.1.1k.tar.gz) = 9823400 +TIMESTAMP = 1629816807 +SHA256 (openssl-1.1.1l.tar.gz) = 0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 +SIZE (openssl-1.1.1l.tar.gz) = 9834044 diff --git a/security/openssl/files/extra-patch-ktls b/security/openssl/files/extra-patch-ktls index 3df11e5b80ba..f361976c75f2 100644 --- a/security/openssl/files/extra-patch-ktls +++ b/security/openssl/files/extra-patch-ktls @@ -1,3112 +1,3113 @@ diff --git CHANGES CHANGES index 1ab64b35c9..a4a63a9bea 100644 --- CHANGES +++ CHANGES @@ -427,6 +427,11 @@ necessary to configure just to create a source distribution. [Richard Levitte] + *) Added support for Linux Kernel TLS data-path. The Linux Kernel data-path + improves application performance by removing data copies and providing + applications with zero-copy system calls such as sendfile and splice. + [Boris Pismenny] + Changes between 1.1.1 and 1.1.1a [20 Nov 2018] *) Timing vulnerability in DSA signature generation diff --git Configure Configure index b286dd0678..f66f6bb3b1 100755 --- Configure +++ Configure @@ -341,6 +341,7 @@ my @dtls = qw(dtls1 dtls1_2); # For developers: keep it sorted alphabetically my @disablables = ( + "ktls", "afalgeng", "aria", "asan", @@ -474,6 +475,7 @@ our %disabled = ( # "what" => "comment" "weak-ssl-ciphers" => "default", "zlib" => "default", "zlib-dynamic" => "default", + "ktls" => "default", ); # Note: => pair form used for aesthetics, not to truly make a hash table @@ -1580,6 +1582,33 @@ unless ($disabled{devcryptoeng}) { } } +unless ($disabled{ktls}) { + $config{ktls}=""; + if ($target =~ m/^linux/) { + my $usr = "/usr/$config{cross_compile_prefix}"; + chop($usr); + if ($config{cross_compile_prefix} eq "") { + $usr = "/usr"; + } + my $minver = (4 << 16) + (13 << 8) + 0; + my @verstr = split(" ",`cat $usr/include/linux/version.h | grep LINUX_VERSION_CODE`); + + if ($verstr[2] < $minver) { + disable('too-old-kernel', 'ktls'); + } + } elsif ($target =~ m/^BSD/) { + my $cc = $config{CROSS_COMPILE}.$config{CC}; + system("printf '#include \n#include ' | $cc -E - >/dev/null 2>&1"); + if ($? != 0) { + disable('too-old-freebsd', 'ktls'); + } + } else { + disable('not-linux-or-freebsd', 'ktls'); + } +} + +push @{$config{openssl_other_defines}}, "OPENSSL_NO_KTLS" if ($disabled{ktls}); + # Get the extra flags used when building shared libraries and modules. We # do this late because some of them depend on %disabled. diff --git INSTALL INSTALL index f3ac727183..f6f754fd5e 100644 --- INSTALL +++ INSTALL @@ -263,6 +263,15 @@ Don't build the AFALG engine. This option will be forced if on a platform that does not support AFALG. + enable-ktls + Build with Kernel TLS support. This option will enable the + use of the Kernel TLS data-path, which can improve + performance and allow for the use of sendfile and splice + system calls on TLS sockets. The Kernel may use TLS + accelerators if any are available on the system. + This option will be forced off on systems that do not support + the Kernel TLS data-path. + enable-asan Build with the Address sanitiser. This is a developer option only. It may not work on all platforms and should never be diff --git apps/s_client.c apps/s_client.c index 83b3fc9c7f..68bd9ced01 100644 --- apps/s_client.c +++ apps/s_client.c @@ -3282,6 +3282,12 @@ static void print_stuff(BIO *bio, SSL *s, int full) BIO_printf(bio, "Expansion: %s\n", expansion ? SSL_COMP_get_name(expansion) : "NONE"); #endif +#ifndef OPENSSL_NO_KTLS + if (BIO_get_ktls_send(SSL_get_wbio(s))) + BIO_printf(bio_err, "Using Kernel TLS for sending\n"); + if (BIO_get_ktls_recv(SSL_get_rbio(s))) + BIO_printf(bio_err, "Using Kernel TLS for receiving\n"); +#endif #ifdef SSL_DEBUG { diff --git apps/s_server.c apps/s_server.c index 0ba75999fd..ddc0b4bcd7 100644 --- apps/s_server.c +++ apps/s_server.c @@ -2923,6 +2923,12 @@ static void print_connection_info(SSL *con) } OPENSSL_free(exportedkeymat); } +#ifndef OPENSSL_NO_KTLS + if (BIO_get_ktls_send(SSL_get_wbio(con))) + BIO_printf(bio_err, "Using Kernel TLS for sending\n"); + if (BIO_get_ktls_recv(SSL_get_rbio(con))) + BIO_printf(bio_err, "Using Kernel TLS for receiving\n"); +#endif (void)BIO_flush(bio_s_out); } diff --git crypto/bio/b_sock2.c crypto/bio/b_sock2.c index 335dfabc61..80ef348d92 100644 --- crypto/bio/b_sock2.c +++ crypto/bio/b_sock2.c @@ -12,6 +12,7 @@ #include #include "bio_local.h" +#include "internal/ktls.h" #include @@ -50,6 +51,17 @@ int BIO_socket(int domain, int socktype, int protocol, int options) BIOerr(BIO_F_BIO_SOCKET, BIO_R_UNABLE_TO_CREATE_SOCKET); return INVALID_SOCKET; } +# ifndef OPENSSL_NO_KTLS + { + /* + * The new socket is created successfully regardless of ktls_enable. + * ktls_enable doesn't change any functionality of the socket, except + * changing the setsockopt to enable the processing of ktls_start. + * Thus, it is not a problem to call it for non-TLS sockets. + */ + ktls_enable(sock); + } +# endif return sock; } diff --git crypto/bio/bss_conn.c crypto/bio/bss_conn.c index 807a82b23b..d478644280 100644 --- crypto/bio/bss_conn.c +++ crypto/bio/bss_conn.c @@ -11,6 +11,7 @@ #include #include "bio_local.h" +#include "internal/ktls.h" #ifndef OPENSSL_NO_SOCK @@ -20,6 +21,9 @@ typedef struct bio_connect_st { char *param_hostname; char *param_service; int connect_mode; +# ifndef OPENSSL_NO_KTLS + unsigned char record_type; +# endif BIO_ADDRINFO *addr_first; const BIO_ADDRINFO *addr_iter; @@ -320,7 +324,12 @@ static int conn_read(BIO *b, char *out, int outl) if (out != NULL) { clear_socket_error(); - ret = readsocket(b->num, out, outl); +# ifndef OPENSSL_NO_KTLS + if (BIO_get_ktls_recv(b)) + ret = ktls_read_record(b->num, out, outl); + else +# endif + ret = readsocket(b->num, out, outl); BIO_clear_retry_flags(b); if (ret <= 0) { if (BIO_sock_should_retry(ret)) @@ -345,7 +354,16 @@ static int conn_write(BIO *b, const char *in, int inl) } clear_socket_error(); - ret = writesocket(b->num, in, inl); +# ifndef OPENSSL_NO_KTLS + if (BIO_should_ktls_ctrl_msg_flag(b)) { + ret = ktls_send_ctrl_message(b->num, data->record_type, in, inl); + if (ret >= 0) { + ret = inl; + BIO_clear_ktls_ctrl_msg_flag(b); + } + } else +# endif + ret = writesocket(b->num, in, inl); BIO_clear_retry_flags(b); if (ret <= 0) { if (BIO_sock_should_retry(ret)) @@ -361,6 +379,9 @@ static long conn_ctrl(BIO *b, int cmd, long num, void *ptr) const char **pptr = NULL; long ret = 1; BIO_CONNECT *data; +# ifndef OPENSSL_NO_KTLS + ktls_crypto_info_t *crypto_info; +# endif data = (BIO_CONNECT *)b->ptr; @@ -520,6 +541,27 @@ static long conn_ctrl(BIO *b, int cmd, long num, void *ptr) case BIO_CTRL_EOF: ret = (b->flags & BIO_FLAGS_IN_EOF) != 0 ? 1 : 0; break; +# ifndef OPENSSL_NO_KTLS + case BIO_CTRL_SET_KTLS: + crypto_info = (ktls_crypto_info_t *)ptr; + ret = ktls_start(b->num, crypto_info, num); + if (ret) + BIO_set_ktls_flag(b, num); + break; + case BIO_CTRL_GET_KTLS_SEND: + return BIO_should_ktls_flag(b, 1); + case BIO_CTRL_GET_KTLS_RECV: + return BIO_should_ktls_flag(b, 0); + case BIO_CTRL_SET_KTLS_TX_SEND_CTRL_MSG: + BIO_set_ktls_ctrl_msg_flag(b); + data->record_type = num; + ret = 0; + break; + case BIO_CTRL_CLEAR_KTLS_TX_CTRL_MSG: + BIO_clear_ktls_ctrl_msg_flag(b); + ret = 0; + break; +# endif default: ret = 0; break; diff --git crypto/bio/bss_sock.c crypto/bio/bss_sock.c index 6251f3d46a..a1fc23c7c9 100644 --- crypto/bio/bss_sock.c +++ crypto/bio/bss_sock.c @@ -11,6 +11,7 @@ #include #include "bio_local.h" #include "internal/cryptlib.h" +#include "internal/ktls.h" #ifndef OPENSSL_NO_SOCK @@ -64,6 +65,17 @@ BIO *BIO_new_socket(int fd, int close_flag) if (ret == NULL) return NULL; BIO_set_fd(ret, fd, close_flag); +# ifndef OPENSSL_NO_KTLS + { + /* + * The new socket is created successfully regardless of ktls_enable. + * ktls_enable doesn't change any functionality of the socket, except + * changing the setsockopt to enable the processing of ktls_start. + * Thus, it is not a problem to call it for non-TLS sockets. + */ + ktls_enable(fd); + } +# endif return ret; } @@ -96,7 +108,12 @@ static int sock_read(BIO *b, char *out, int outl) if (out != NULL) { clear_socket_error(); - ret = readsocket(b->num, out, outl); +# ifndef OPENSSL_NO_KTLS + if (BIO_get_ktls_recv(b)) + ret = ktls_read_record(b->num, out, outl); + else +# endif + ret = readsocket(b->num, out, outl); BIO_clear_retry_flags(b); if (ret <= 0) { if (BIO_sock_should_retry(ret)) @@ -110,10 +127,20 @@ static int sock_read(BIO *b, char *out, int outl) static int sock_write(BIO *b, const char *in, int inl) { - int ret; + int ret = 0; clear_socket_error(); - ret = writesocket(b->num, in, inl); +# ifndef OPENSSL_NO_KTLS + if (BIO_should_ktls_ctrl_msg_flag(b)) { + unsigned char record_type = (intptr_t)b->ptr; + ret = ktls_send_ctrl_message(b->num, record_type, in, inl); + if (ret >= 0) { + ret = inl; + BIO_clear_ktls_ctrl_msg_flag(b); + } + } else +# endif + ret = writesocket(b->num, in, inl); BIO_clear_retry_flags(b); if (ret <= 0) { if (BIO_sock_should_retry(ret)) @@ -126,6 +153,9 @@ static long sock_ctrl(BIO *b, int cmd, long num, void *ptr) { long ret = 1; int *ip; +# ifndef OPENSSL_NO_KTLS + ktls_crypto_info_t *crypto_info; +# endif switch (cmd) { case BIO_C_SET_FD: @@ -153,6 +183,27 @@ static long sock_ctrl(BIO *b, int cmd, long num, void *ptr) case BIO_CTRL_FLUSH: ret = 1; break; +# ifndef OPENSSL_NO_KTLS + case BIO_CTRL_SET_KTLS: + crypto_info = (ktls_crypto_info_t *)ptr; + ret = ktls_start(b->num, crypto_info, num); + if (ret) + BIO_set_ktls_flag(b, num); + break; + case BIO_CTRL_GET_KTLS_SEND: + return BIO_should_ktls_flag(b, 1); + case BIO_CTRL_GET_KTLS_RECV: + return BIO_should_ktls_flag(b, 0); + case BIO_CTRL_SET_KTLS_TX_SEND_CTRL_MSG: + BIO_set_ktls_ctrl_msg_flag(b); + b->ptr = (void *)num; + ret = 0; + break; + case BIO_CTRL_CLEAR_KTLS_TX_CTRL_MSG: + BIO_clear_ktls_ctrl_msg_flag(b); + ret = 0; + break; +# endif case BIO_CTRL_EOF: ret = (b->flags & BIO_FLAGS_IN_EOF) != 0 ? 1 : 0; break; diff --git crypto/err/openssl.txt crypto/err/openssl.txt index 7e1776375d..b22e8a735c 100644 --- crypto/err/openssl.txt +++ crypto/err/openssl.txt @@ -1318,6 +1318,7 @@ SSL_F_SSL_RENEGOTIATE:516:SSL_renegotiate SSL_F_SSL_RENEGOTIATE_ABBREVIATED:546:SSL_renegotiate_abbreviated SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT:320:* SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT:321:* +SSL_F_SSL_SENDFILE:639:SSL_sendfile SSL_F_SSL_SESSION_DUP:348:ssl_session_dup SSL_F_SSL_SESSION_NEW:189:SSL_SESSION_new SSL_F_SSL_SESSION_PRINT_FP:190:SSL_SESSION_print_fp diff --git crypto/evp/e_aes.c crypto/evp/e_aes.c index 405ddbf9bf..4640c7528a 100644 --- crypto/evp/e_aes.c +++ crypto/evp/e_aes.c @@ -2895,6 +2895,14 @@ static int aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) memcpy(ptr, c->buf, arg); return 1; + case EVP_CTRL_GET_IV: + if (gctx->iv_gen != 1) + return 0; + if (gctx->ivlen != arg) + return 0; + memcpy(ptr, gctx->iv, arg); + return 1; + case EVP_CTRL_GCM_SET_IV_FIXED: /* Special case: -1 length restores whole IV */ if (arg == -1) { diff --git doc/man3/BIO_ctrl.pod doc/man3/BIO_ctrl.pod index 2e438c3ce9..31b18b2879 100644 --- doc/man3/BIO_ctrl.pod +++ doc/man3/BIO_ctrl.pod @@ -5,7 +5,8 @@ BIO_ctrl, BIO_callback_ctrl, BIO_ptr_ctrl, BIO_int_ctrl, BIO_reset, BIO_seek, BIO_tell, BIO_flush, BIO_eof, BIO_set_close, BIO_get_close, BIO_pending, BIO_wpending, BIO_ctrl_pending, BIO_ctrl_wpending, -BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb +BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb, BIO_get_ktls_send, +BIO_get_ktls_recv - BIO control operations =head1 SYNOPSIS @@ -34,6 +35,9 @@ BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb int BIO_get_info_callback(BIO *b, BIO_info_cb **cbp); int BIO_set_info_callback(BIO *b, BIO_info_cb *cb); + int BIO_get_ktls_send(BIO *b); + int BIO_get_ktls_recv(BIO *b); + =head1 DESCRIPTION BIO_ctrl(), BIO_callback_ctrl(), BIO_ptr_ctrl() and BIO_int_ctrl() @@ -72,6 +76,11 @@ Not all BIOs support these calls. BIO_ctrl_pending() and BIO_ctrl_wpending() return a size_t type and are functions, BIO_pending() and BIO_wpending() are macros which call BIO_ctrl(). +BIO_get_ktls_send() returns 1 if the BIO is using the Kernel TLS data-path for +sending. Otherwise, it returns zero. +BIO_get_ktls_recv() returns 1 if the BIO is using the Kernel TLS data-path for +receiving. Otherwise, it returns zero. + =head1 RETURN VALUES BIO_reset() normally returns 1 for success and 0 or -1 for failure. File @@ -92,6 +101,11 @@ BIO_get_close() returns the close flag value: BIO_CLOSE or BIO_NOCLOSE. BIO_pending(), BIO_ctrl_pending(), BIO_wpending() and BIO_ctrl_wpending() return the amount of pending data. +BIO_get_ktls_send() returns 1 if the BIO is using the Kernel TLS data-path for +sending. Otherwise, it returns zero. +BIO_get_ktls_recv() returns 1 if the BIO is using the Kernel TLS data-path for +receiving. Otherwise, it returns zero. + =head1 NOTES BIO_flush(), because it can write data may return 0 or -1 indicating @@ -124,6 +138,11 @@ particular a return value of 0 can be returned if an operation is not supported, if an error occurred, if EOF has not been reached and in the case of BIO_seek() on a file BIO for a successful operation. +=head1 HISTORY + +The BIO_get_ktls_send() and BIO_get_ktls_recv() functions were added in +OpenSSL 3.0.0. + =head1 COPYRIGHT Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. diff --git doc/man3/SSL_CTX_set_mode.pod doc/man3/SSL_CTX_set_mode.pod index 85e3353e0e..27eaebad1e 100644 --- doc/man3/SSL_CTX_set_mode.pod +++ doc/man3/SSL_CTX_set_mode.pod @@ -114,6 +114,22 @@ enables this behaviour to allow interoperability with such broken implementations. Please note that setting this option breaks interoperability with correct implementations. This option only applies to DTLS over SCTP. +=item SSL_MODE_NO_KTLS_TX + +Disable the use of the kernel TLS egress data-path. +By default kernel TLS is enabled if it is supported by the negotiated ciphersuites +and extensions and OpenSSL has been compiled with support for it. +The kernel TLS data-path implements the record layer, +and the crypto algorithm. The kernel will utilize the best hardware +available for crypto. Using the kernel data-path should reduce the memory +footprint of OpenSSL because no buffering is required. Also, the throughput +should improve because data copy is avoided when user data is encrypted into +kernel memory instead of the usual encrypt than copy to kernel. + +Kernel TLS might not support all the features of OpenSSL. For instance, +renegotiation, and setting the maximum fragment size is not possible as of +Linux 4.20. + =back All modes are off by default except for SSL_MODE_AUTO_RETRY which is on by @@ -134,6 +150,7 @@ L, L =head1 HISTORY SSL_MODE_ASYNC was added in OpenSSL 1.1.0. +SSL_MODE_NO_KTLS_TX was first added to OpenSSL 3.0.0. =head1 COPYRIGHT diff --git doc/man3/SSL_CTX_set_record_padding_callback.pod doc/man3/SSL_CTX_set_record_padding_callback.pod index 13e56f0c57..247a39fc03 100644 --- doc/man3/SSL_CTX_set_record_padding_callback.pod +++ doc/man3/SSL_CTX_set_record_padding_callback.pod @@ -16,7 +16,7 @@ SSL_set_block_padding - install callback to specify TLS 1.3 record padding #include void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx, size_t (*cb)(SSL *s, int type, size_t len, void *arg)); - void SSL_set_record_padding_callback(SSL *ssl, size_t (*cb)(SSL *s, int type, size_t len, void *arg)); + int SSL_set_record_padding_callback(SSL *ssl, size_t (*cb)(SSL *s, int type, size_t len, void *arg)); void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg); void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx); @@ -32,6 +32,8 @@ SSL_set_block_padding - install callback to specify TLS 1.3 record padding SSL_CTX_set_record_padding_callback() or SSL_set_record_padding_callback() can be used to assign a callback function I to specify the padding for TLS 1.3 records. The value set in B is copied to a new SSL by SSL_new(). +Kernel TLS is not possible if the record padding callback is set, and the callback +function cannot be set if Kernel TLS is already configured for the current SSL object. SSL_CTX_set_record_padding_callback_arg() and SSL_set_record_padding_callback_arg() assign a value B that is passed to the callback when it is invoked. The value @@ -64,6 +66,9 @@ indicates no padding will be added. A return value that causes the record to exceed the maximum record size (SSL3_RT_MAX_PLAIN_LENGTH) will pad out to the maximum record size. +The SSL_CTX_get_record_padding_callback_arg() function returns 1 on success or 0 if +the callback function is not set because Kernel TLS is configured for the SSL object. + =head1 NOTES The default behavior is to add no padding to the record. @@ -84,6 +89,9 @@ L, L The record padding API was added for TLS 1.3 support in OpenSSL 1.1.1. +The return type of SSL_CTX_set_record_padding_callback() function was +changed to int in OpenSSL 3.0. + =head1 COPYRIGHT Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. diff --git doc/man3/SSL_write.pod doc/man3/SSL_write.pod index 5e3ce1e7e4..9b271d8e65 100644 --- doc/man3/SSL_write.pod +++ doc/man3/SSL_write.pod @@ -2,12 +2,13 @@ =head1 NAME -SSL_write_ex, SSL_write - write bytes to a TLS/SSL connection +SSL_write_ex, SSL_write, SSL_sendfile - write bytes to a TLS/SSL connection =head1 SYNOPSIS #include + ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, int flags); int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); int SSL_write(SSL *ssl, const void *buf, int num); @@ -17,6 +18,14 @@ SSL_write_ex() and SSL_write() write B bytes from the buffer B into the specified B connection. On success SSL_write_ex() will store the number of bytes written in B<*written>. +SSL_sendfile() writes B bytes from offset B in the file +descriptor B to the specified SSL connection B. This function provides +efficient zero-copy semantics. SSL_sendfile() is available only when +Kernel TLS is enabled, which can be checked by calling BIO_get_ktls_send(). +It is provided here to allow users to maintain the same interface. +The meaning of B is platform dependent. +Currently, under Linux it is ignored. + =head1 NOTES In the paragraphs below a "write function" is defined as one of either @@ -104,17 +113,36 @@ You should instead call SSL_get_error() to find out if it's retryable. =back +For SSL_sendfile(), the following return values can occur: + +=over 4 + +=item Z<>>= 0 + +The write operation was successful, the return value is the number +of bytes of the file written to the TLS/SSL connection. The return +value can be less than B for a partial write. + +=item E 0 + +The write operation was not successful, because either the connection was +closed, an error occured or action must be taken by the calling process. +Call SSL_get_error() with the return value to find out the reason. + +=back + =head1 SEE ALSO L, L, L L, L, L, L -L, +L, L, L, L =head1 HISTORY The SSL_write_ex() function was added in OpenSSL 1.1.1. +The SSL_sendfile() function was added in OpenSSL 3.0.0. =head1 COPYRIGHT diff --git engines/e_afalg.c engines/e_afalg.c index 4b17228461..5ef3a8d457 100644 --- engines/e_afalg.c +++ engines/e_afalg.c @@ -407,7 +407,7 @@ static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in, size_t inl, const unsigned char *iv, unsigned int enc) { - struct msghdr msg = { 0 }; + struct msghdr msg; struct cmsghdr *cmsg; struct iovec iov; ssize_t sbytes; @@ -416,6 +416,7 @@ static int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in, # endif char cbuf[CMSG_SPACE(ALG_IV_LEN(ALG_AES_IV_LEN)) + CMSG_SPACE(ALG_OP_LEN)]; + memset(&msg, 0, sizeof(msg)); memset(cbuf, 0, sizeof(cbuf)); msg.msg_control = cbuf; msg.msg_controllen = sizeof(cbuf); diff --git include/internal/bio.h include/internal/bio.h index c343b27629..521b5fa219 100644 --- include/internal/bio.h +++ include/internal/bio.h @@ -7,6 +7,9 @@ * https://www.openssl.org/source/license.html */ +#ifndef HEADER_INTERNAL_BIO_H +# define HEADER_INTERNAL_BIO_H + #include struct bio_method_st { @@ -31,3 +34,39 @@ void bio_cleanup(void); /* Old style to new style BIO_METHOD conversion functions */ int bwrite_conv(BIO *bio, const char *data, size_t datal, size_t *written); int bread_conv(BIO *bio, char *data, size_t datal, size_t *read); + +/* Changes to these internal BIOs must also update include/openssl/bio.h */ +# define BIO_CTRL_SET_KTLS 72 +# define BIO_CTRL_SET_KTLS_TX_SEND_CTRL_MSG 74 +# define BIO_CTRL_CLEAR_KTLS_TX_CTRL_MSG 75 + +/* + * This is used with socket BIOs: + * BIO_FLAGS_KTLS_TX means we are using ktls with this BIO for sending. + * BIO_FLAGS_KTLS_TX_CTRL_MSG means we are about to send a ctrl message next. + * BIO_FLAGS_KTLS_RX means we are using ktls with this BIO for receiving. + */ +# define BIO_FLAGS_KTLS_TX 0x800 +# define BIO_FLAGS_KTLS_TX_CTRL_MSG 0x1000 +# define BIO_FLAGS_KTLS_RX 0x2000 + +/* KTLS related controls and flags */ +# define BIO_set_ktls_flag(b, is_tx) \ + BIO_set_flags(b, (is_tx) ? BIO_FLAGS_KTLS_TX : BIO_FLAGS_KTLS_RX) +# define BIO_should_ktls_flag(b, is_tx) \ + BIO_test_flags(b, (is_tx) ? BIO_FLAGS_KTLS_TX : BIO_FLAGS_KTLS_RX) +# define BIO_set_ktls_ctrl_msg_flag(b) \ + BIO_set_flags(b, BIO_FLAGS_KTLS_TX_CTRL_MSG) +# define BIO_should_ktls_ctrl_msg_flag(b) \ + BIO_test_flags(b, BIO_FLAGS_KTLS_TX_CTRL_MSG) +# define BIO_clear_ktls_ctrl_msg_flag(b) \ + BIO_clear_flags(b, BIO_FLAGS_KTLS_TX_CTRL_MSG) + +# define BIO_set_ktls(b, keyblob, is_tx) \ + BIO_ctrl(b, BIO_CTRL_SET_KTLS, is_tx, keyblob) +# define BIO_set_ktls_ctrl_msg(b, record_type) \ + BIO_ctrl(b, BIO_CTRL_SET_KTLS_TX_SEND_CTRL_MSG, record_type, NULL) +# define BIO_clear_ktls_ctrl_msg(b) \ + BIO_ctrl(b, BIO_CTRL_CLEAR_KTLS_TX_CTRL_MSG, 0, NULL) + +#endif diff --git include/internal/ktls.h include/internal/ktls.h new file mode 100644 index 0000000000..622d7be76d --- /dev/null +++ include/internal/ktls.h @@ -0,0 +1,400 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#if defined(OPENSSL_SYS_LINUX) +# ifndef OPENSSL_NO_KTLS +# include +# if LINUX_VERSION_CODE < KERNEL_VERSION(4, 13, 0) +# define OPENSSL_NO_KTLS +# ifndef PEDANTIC +# warning "KTLS requires Kernel Headers >= 4.13.0" +# warning "Skipping Compilation of KTLS" +# endif +# endif +# endif +#endif + +#ifndef HEADER_INTERNAL_KTLS +# define HEADER_INTERNAL_KTLS +# ifndef OPENSSL_NO_KTLS + +# if defined(__FreeBSD__) +# include +# include +# include +# include +# include +# include "openssl/ssl3.h" + +# ifndef TCP_RXTLS_ENABLE +# define OPENSSL_NO_KTLS_RX +# endif +# define OPENSSL_KTLS_AES_GCM_128 +# define OPENSSL_KTLS_AES_GCM_256 +# define OPENSSL_KTLS_TLS13 + +/* + * Only used by the tests in sslapitest.c. + */ +# define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8 +# define TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE 8 + +typedef struct tls_enable ktls_crypto_info_t; + +/* + * FreeBSD does not require any additional steps to enable KTLS before + * setting keys. + */ +static ossl_inline int ktls_enable(int fd) +{ + return 1; +} + +/* + * The TCP_TXTLS_ENABLE socket option marks the outgoing socket buffer + * as using TLS. If successful, then data sent using this socket will + * be encrypted and encapsulated in TLS records using the tls_en + * provided here. + * + * The TCP_RXTLS_ENABLE socket option marks the incoming socket buffer + * as using TLS. If successful, then data received for this socket will + * be authenticated and decrypted using the tls_en provided here. + */ +static ossl_inline int ktls_start(int fd, ktls_crypto_info_t *tls_en, int is_tx) +{ + if (is_tx) + return setsockopt(fd, IPPROTO_TCP, TCP_TXTLS_ENABLE, + tls_en, sizeof(*tls_en)) ? 0 : 1; +# ifndef OPENSSL_NO_KTLS_RX + return setsockopt(fd, IPPROTO_TCP, TCP_RXTLS_ENABLE, tls_en, + sizeof(*tls_en)) ? 0 : 1; +# else + return 0; +# endif +} + +/* + * Send a TLS record using the tls_en provided in ktls_start and use + * record_type instead of the default SSL3_RT_APPLICATION_DATA. + * When the socket is non-blocking, then this call either returns EAGAIN or + * the entire record is pushed to TCP. It is impossible to send a partial + * record using this control message. + */ +static ossl_inline int ktls_send_ctrl_message(int fd, unsigned char record_type, + const void *data, size_t length) +{ + struct msghdr msg = { 0 }; + int cmsg_len = sizeof(record_type); + struct cmsghdr *cmsg; + char buf[CMSG_SPACE(cmsg_len)]; + struct iovec msg_iov; /* Vector of data to send/receive into */ + + msg.msg_control = buf; + msg.msg_controllen = sizeof(buf); + cmsg = CMSG_FIRSTHDR(&msg); + cmsg->cmsg_level = IPPROTO_TCP; + cmsg->cmsg_type = TLS_SET_RECORD_TYPE; + cmsg->cmsg_len = CMSG_LEN(cmsg_len); + *((unsigned char *)CMSG_DATA(cmsg)) = record_type; + msg.msg_controllen = cmsg->cmsg_len; + + msg_iov.iov_base = (void *)data; + msg_iov.iov_len = length; + msg.msg_iov = &msg_iov; + msg.msg_iovlen = 1; + + return sendmsg(fd, &msg, 0); +} + +# ifdef OPENSSL_NO_KTLS_RX + +static ossl_inline int ktls_read_record(int fd, void *data, size_t length) +{ + return -1; +} + +# else /* !defined(OPENSSL_NO_KTLS_RX) */ + +/* + * Receive a TLS record using the tls_en provided in ktls_start. The + * kernel strips any explicit IV and authentication tag, but provides + * the TLS record header via a control message. If there is an error + * with the TLS record such as an invalid header, invalid padding, or + * authentication failure recvmsg() will fail with an error. + */ +static ossl_inline int ktls_read_record(int fd, void *data, size_t length) +{ + struct msghdr msg = { 0 }; + int cmsg_len = sizeof(struct tls_get_record); + struct tls_get_record *tgr; + struct cmsghdr *cmsg; + char buf[CMSG_SPACE(cmsg_len)]; + struct iovec msg_iov; /* Vector of data to send/receive into */ + int ret; + unsigned char *p = data; + const size_t prepend_length = SSL3_RT_HEADER_LENGTH; + + if (length <= prepend_length) { + errno = EINVAL; + return -1; + } + + msg.msg_control = buf; + msg.msg_controllen = sizeof(buf); + + msg_iov.iov_base = p + prepend_length; + msg_iov.iov_len = length - prepend_length; + msg.msg_iov = &msg_iov; + msg.msg_iovlen = 1; + + ret = recvmsg(fd, &msg, 0); + if (ret <= 0) + return ret; + + if ((msg.msg_flags & (MSG_EOR | MSG_CTRUNC)) != MSG_EOR) { + errno = EMSGSIZE; + return -1; + } + + if (msg.msg_controllen == 0) { + errno = EBADMSG; + return -1; + } + + cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg->cmsg_level != IPPROTO_TCP || cmsg->cmsg_type != TLS_GET_RECORD + || cmsg->cmsg_len != CMSG_LEN(cmsg_len)) { + errno = EBADMSG; + return -1; + } + + tgr = (struct tls_get_record *)CMSG_DATA(cmsg); + p[0] = tgr->tls_type; + p[1] = tgr->tls_vmajor; + p[2] = tgr->tls_vminor; + *(uint16_t *)(p + 3) = htons(ret); + + return ret + prepend_length; +} + +# endif /* OPENSSL_NO_KTLS_RX */ + +/* + * KTLS enables the sendfile system call to send data from a file over + * TLS. + */ +static ossl_inline ossl_ssize_t ktls_sendfile(int s, int fd, off_t off, + size_t size, int flags) +{ + off_t sbytes = 0; + int ret; + + ret = sendfile(fd, s, off, size, NULL, &sbytes, flags); + if (ret == -1 && sbytes == 0) + return -1; + return sbytes; +} + +# endif /* __FreeBSD__ */ + +# if defined(OPENSSL_SYS_LINUX) + +# include +# if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) +# define OPENSSL_NO_KTLS_RX +# ifndef PEDANTIC +# warning "KTLS requires Kernel Headers >= 4.17.0 for receiving" +# warning "Skipping Compilation of KTLS receive data path" +# endif +# endif +# define OPENSSL_KTLS_AES_GCM_128 +# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) +# define OPENSSL_KTLS_AES_GCM_256 +# define OPENSSL_KTLS_TLS13 +# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 2, 0) +# define OPENSSL_KTLS_AES_CCM_128 +# endif +# endif + +# include +# include +# include +# include "openssl/ssl3.h" +# include "openssl/tls1.h" +# include "openssl/evp.h" + +# ifndef SOL_TLS +# define SOL_TLS 282 +# endif + +# ifndef TCP_ULP +# define TCP_ULP 31 +# endif + +# ifndef TLS_RX +# define TLS_RX 2 +# endif + +struct tls_crypto_info_all { + union { +# ifdef OPENSSL_KTLS_AES_GCM_128 + struct tls12_crypto_info_aes_gcm_128 gcm128; +# endif +# ifdef OPENSSL_KTLS_AES_GCM_256 + struct tls12_crypto_info_aes_gcm_256 gcm256; +# endif +# ifdef OPENSSL_KTLS_AES_CCM_128 + struct tls12_crypto_info_aes_ccm_128 ccm128; +# endif + }; + size_t tls_crypto_info_len; +}; + +typedef struct tls_crypto_info_all ktls_crypto_info_t; + +/* + * When successful, this socket option doesn't change the behaviour of the + * TCP socket, except changing the TCP setsockopt handler to enable the + * processing of SOL_TLS socket options. All other functionality remains the + * same. + */ +static ossl_inline int ktls_enable(int fd) +{ + return setsockopt(fd, SOL_TCP, TCP_ULP, "tls", sizeof("tls")) ? 0 : 1; +} + +/* + * The TLS_TX socket option changes the send/sendmsg handlers of the TCP socket. + * If successful, then data sent using this socket will be encrypted and + * encapsulated in TLS records using the crypto_info provided here. + * The TLS_RX socket option changes the recv/recvmsg handlers of the TCP socket. + * If successful, then data received using this socket will be decrypted, + * authenticated and decapsulated using the crypto_info provided here. + */ +static ossl_inline int ktls_start(int fd, ktls_crypto_info_t *crypto_info, + int is_tx) +{ + return setsockopt(fd, SOL_TLS, is_tx ? TLS_TX : TLS_RX, + crypto_info, crypto_info->tls_crypto_info_len) ? 0 : 1; +} + +/* + * Send a TLS record using the crypto_info provided in ktls_start and use + * record_type instead of the default SSL3_RT_APPLICATION_DATA. + * When the socket is non-blocking, then this call either returns EAGAIN or + * the entire record is pushed to TCP. It is impossible to send a partial + * record using this control message. + */ +static ossl_inline int ktls_send_ctrl_message(int fd, unsigned char record_type, + const void *data, size_t length) +{ + struct msghdr msg; + int cmsg_len = sizeof(record_type); + struct cmsghdr *cmsg; + union { + struct cmsghdr hdr; + char buf[CMSG_SPACE(sizeof(unsigned char))]; + } cmsgbuf; + struct iovec msg_iov; /* Vector of data to send/receive into */ + + memset(&msg, 0, sizeof(msg)); + msg.msg_control = cmsgbuf.buf; + msg.msg_controllen = sizeof(cmsgbuf.buf); + cmsg = CMSG_FIRSTHDR(&msg); + cmsg->cmsg_level = SOL_TLS; + cmsg->cmsg_type = TLS_SET_RECORD_TYPE; + cmsg->cmsg_len = CMSG_LEN(cmsg_len); + *((unsigned char *)CMSG_DATA(cmsg)) = record_type; + msg.msg_controllen = cmsg->cmsg_len; + + msg_iov.iov_base = (void *)data; + msg_iov.iov_len = length; + msg.msg_iov = &msg_iov; + msg.msg_iovlen = 1; + + return sendmsg(fd, &msg, 0); +} + +/* + * KTLS enables the sendfile system call to send data from a file over TLS. + * @flags are ignored on Linux. (placeholder for FreeBSD sendfile) + * */ +static ossl_inline ossl_ssize_t ktls_sendfile(int s, int fd, off_t off, size_t size, int flags) +{ + return sendfile(s, fd, &off, size); +} + +# ifdef OPENSSL_NO_KTLS_RX + + +static ossl_inline int ktls_read_record(int fd, void *data, size_t length) +{ + return -1; +} + +# else /* !defined(OPENSSL_NO_KTLS_RX) */ + +/* + * Receive a TLS record using the crypto_info provided in ktls_start. + * The kernel strips the TLS record header, IV and authentication tag, + * returning only the plaintext data or an error on failure. + * We add the TLS record header here to satisfy routines in rec_layer_s3.c + */ +static ossl_inline int ktls_read_record(int fd, void *data, size_t length) +{ + struct msghdr msg; + struct cmsghdr *cmsg; + union { + struct cmsghdr hdr; + char buf[CMSG_SPACE(sizeof(unsigned char))]; + } cmsgbuf; + struct iovec msg_iov; + int ret; + unsigned char *p = data; + const size_t prepend_length = SSL3_RT_HEADER_LENGTH; + + if (length < prepend_length + EVP_GCM_TLS_TAG_LEN) { + errno = EINVAL; + return -1; + } + + memset(&msg, 0, sizeof(msg)); + msg.msg_control = cmsgbuf.buf; + msg.msg_controllen = sizeof(cmsgbuf.buf); + + msg_iov.iov_base = p + prepend_length; + msg_iov.iov_len = length - prepend_length - EVP_GCM_TLS_TAG_LEN; + msg.msg_iov = &msg_iov; + msg.msg_iovlen = 1; + + ret = recvmsg(fd, &msg, 0); + if (ret < 0) + return ret; + + if (msg.msg_controllen > 0) { + cmsg = CMSG_FIRSTHDR(&msg); + if (cmsg->cmsg_type == TLS_GET_RECORD_TYPE) { + p[0] = *((unsigned char *)CMSG_DATA(cmsg)); + p[1] = TLS1_2_VERSION_MAJOR; + p[2] = TLS1_2_VERSION_MINOR; + /* returned length is limited to msg_iov.iov_len above */ + p[3] = (ret >> 8) & 0xff; + p[4] = ret & 0xff; + ret += prepend_length; + } + } + + return ret; +} + +# endif /* OPENSSL_NO_KTLS_RX */ + +# endif /* OPENSSL_SYS_LINUX */ +# endif /* OPENSSL_NO_KTLS */ +#endif /* HEADER_INTERNAL_KTLS */ diff --git include/openssl/bio.h include/openssl/bio.h index ae559a5105..fa50337aab 100644 --- include/openssl/bio.h +++ include/openssl/bio.h @@ -141,6 +141,26 @@ extern "C" { # define BIO_CTRL_DGRAM_SET_PEEK_MODE 71 +/* + * internal BIO see include/internal/bio.h: + * # define BIO_CTRL_SET_KTLS_SEND 72 + * # define BIO_CTRL_SET_KTLS_SEND_CTRL_MSG 74 + * # define BIO_CTRL_CLEAR_KTLS_CTRL_MSG 75 + */ + +# define BIO_CTRL_GET_KTLS_SEND 73 +# define BIO_CTRL_GET_KTLS_RECV 76 + +# ifndef OPENSSL_NO_KTLS +# define BIO_get_ktls_send(b) \ + BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL) +# define BIO_get_ktls_recv(b) \ + BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, 0, NULL) +# else +# define BIO_get_ktls_send(b) (0) +# define BIO_get_ktls_recv(b) (0) +# endif + /* modifiers */ # define BIO_FP_READ 0x02 # define BIO_FP_WRITE 0x04 diff --git include/openssl/err.h include/openssl/err.h index b49f88129e..dce9885d3f 100644 --- include/openssl/err.h +++ include/openssl/err.h @@ -169,6 +169,7 @@ typedef struct err_state_st { # define SYS_F_STAT 22 # define SYS_F_FCNTL 23 # define SYS_F_FSTAT 24 +# define SYS_F_SENDFILE 25 /* reasons */ # define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ diff --git include/openssl/evp.h include/openssl/evp.h index a411f3f2f9..60103707d2 100644 --- include/openssl/evp.h +++ include/openssl/evp.h @@ -352,6 +352,8 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, # define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24 # define EVP_CTRL_GET_IVLEN 0x25 +/* Get the IV used by the cipher */ +# define EVP_CTRL_GET_IV 0x26 /* Padding modes */ #define EVP_PADDING_PKCS7 1 diff --git include/openssl/ssl.h include/openssl/ssl.h index fd0c5a9996..09620489bc 100644 --- include/openssl/ssl.h +++ include/openssl/ssl.h @@ -493,6 +493,10 @@ typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx); * Support Asynchronous operation */ # define SSL_MODE_ASYNC 0x00000100U +/* + * Don't use the kernel TLS data-path for sending. + */ +# define SSL_MODE_NO_KTLS_TX 0x00000200U /* * When using DTLS/SCTP, include the terminating zero in the label @@ -506,6 +510,10 @@ typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx); * - OpenSSL 1.1.1 and 1.1.1a */ # define SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG 0x00000400U +/* + * Don't use the kernel TLS data-path for receiving. + */ +# define SSL_MODE_NO_KTLS_RX 0x00000800U /* Cert related flags */ /* @@ -1837,6 +1845,8 @@ __owur int SSL_read_early_data(SSL *s, void *buf, size_t num, size_t *readbytes); __owur int SSL_peek(SSL *ssl, void *buf, int num); __owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); +__owur ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, + int flags); __owur int SSL_write(SSL *ssl, const void *buf, int num); __owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); __owur int SSL_write_early_data(SSL *s, const void *buf, size_t num, @@ -2123,7 +2133,7 @@ void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg); void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx); int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size); -void SSL_set_record_padding_callback(SSL *ssl, +int SSL_set_record_padding_callback(SSL *ssl, size_t (*cb) (SSL *ssl, int type, size_t len, void *arg)); void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg); diff --git include/openssl/sslerr.h include/openssl/sslerr.h index 82983d3c1e..0bdc8f3b2c 100644 --- include/openssl/sslerr.h +++ include/openssl/sslerr.h @@ -219,6 +219,7 @@ int ERR_load_SSL_strings(void); # define SSL_F_SSL_RENEGOTIATE_ABBREVIATED 546 # define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 # define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 +# define SSL_F_SSL_SENDFILE 639 # define SSL_F_SSL_SESSION_DUP 348 # define SSL_F_SSL_SESSION_NEW 189 # define SSL_F_SSL_SESSION_PRINT_FP 190 diff --git ssl/build.info ssl/build.info index bb2f1deb53..1c49ac9aee 100644 --- ssl/build.info +++ ssl/build.info @@ -1,4 +1,5 @@ LIBS=../libssl + SOURCE[../libssl]=\ pqueue.c packet.c \ statem/statem_srvr.c statem/statem_clnt.c s3_lib.c s3_enc.c record/rec_layer_s3.c \ @@ -13,3 +14,7 @@ SOURCE[../libssl]=\ bio_ssl.c ssl_err.c tls_srp.c t1_trce.c ssl_utst.c \ record/ssl3_buffer.c record/ssl3_record.c record/dtls1_bitmap.c \ statem/statem.c record/ssl3_record_tls13.c + +IF[{- !$disabled{ktls} -}] + SOURCE[../libssl]=ktls.c +ENDIF diff --git ssl/ktls.c ssl/ktls.c new file mode 100644 index 0000000000..7123ecac00 --- /dev/null +++ ssl/ktls.c @@ -0,0 +1,221 @@ +/* + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "ssl_local.h" +#include "internal/ktls.h" + +#if defined(__FreeBSD__) +# include + +/*- + * Check if a given cipher is supported by the KTLS interface. + * The kernel might still fail the setsockopt() if no suitable + * provider is found, but this checks if the socket option + * supports the cipher suite used at all. + */ +int ktls_check_supported_cipher(const SSL *s, const EVP_CIPHER *c, + const EVP_CIPHER_CTX *dd) +{ + + switch (s->version) { + case TLS1_VERSION: + case TLS1_1_VERSION: + case TLS1_2_VERSION: + case TLS1_3_VERSION: + break; + default: + return 0; + } + + switch (s->s3->tmp.new_cipher->algorithm_enc) { + case SSL_AES128GCM: + case SSL_AES256GCM: + return 1; + case SSL_AES128: + case SSL_AES256: + if (s->ext.use_etm) + return 0; + switch (s->s3->tmp.new_cipher->algorithm_mac) { + case SSL_SHA1: + case SSL_SHA256: + case SSL_SHA384: + return 1; + default: + return 0; + } + default: + return 0; + } +} + +/* Function to configure kernel TLS structure */ +int ktls_configure_crypto(const SSL *s, const EVP_CIPHER *c, EVP_CIPHER_CTX *dd, + void *rl_sequence, ktls_crypto_info_t *crypto_info, + unsigned char **rec_seq, unsigned char *iv, + unsigned char *key, unsigned char *mac_key, + size_t mac_secret_size) +{ + memset(crypto_info, 0, sizeof(*crypto_info)); + switch (s->s3->tmp.new_cipher->algorithm_enc) { + case SSL_AES128GCM: + case SSL_AES256GCM: + crypto_info->cipher_algorithm = CRYPTO_AES_NIST_GCM_16; + if (s->version == TLS1_3_VERSION) + crypto_info->iv_len = EVP_CIPHER_CTX_iv_length(dd); + else + crypto_info->iv_len = EVP_GCM_TLS_FIXED_IV_LEN; + break; + case SSL_AES128: + case SSL_AES256: + switch (s->s3->tmp.new_cipher->algorithm_mac) { + case SSL_SHA1: + crypto_info->auth_algorithm = CRYPTO_SHA1_HMAC; + break; + case SSL_SHA256: + crypto_info->auth_algorithm = CRYPTO_SHA2_256_HMAC; + break; + case SSL_SHA384: + crypto_info->auth_algorithm = CRYPTO_SHA2_384_HMAC; + break; + default: + return 0; + } + crypto_info->cipher_algorithm = CRYPTO_AES_CBC; + crypto_info->iv_len = EVP_CIPHER_iv_length(c); + crypto_info->auth_key = mac_key; + crypto_info->auth_key_len = mac_secret_size; + break; + default: + return 0; + } + crypto_info->cipher_key = key; + crypto_info->cipher_key_len = EVP_CIPHER_key_length(c); + crypto_info->iv = iv; + crypto_info->tls_vmajor = (s->version >> 8) & 0x000000ff; + crypto_info->tls_vminor = (s->version & 0x000000ff); +# ifdef TCP_RXTLS_ENABLE + memcpy(crypto_info->rec_seq, rl_sequence, sizeof(crypto_info->rec_seq)); + if (rec_seq != NULL) + *rec_seq = crypto_info->rec_seq; +# else + if (rec_seq != NULL) + *rec_seq = NULL; +# endif + return 1; +}; + +#endif /* __FreeBSD__ */ + +#if defined(OPENSSL_SYS_LINUX) + +/* Function to check supported ciphers in Linux */ +int ktls_check_supported_cipher(const SSL *s, const EVP_CIPHER *c, + const EVP_CIPHER_CTX *dd) +{ + switch (s->version) { + case TLS1_2_VERSION: + case TLS1_3_VERSION: + break; + default: + return 0; + } + + /* check that cipher is AES_GCM_128, AES_GCM_256, AES_CCM_128 */ + switch (EVP_CIPHER_nid(c)) + { +# ifdef OPENSSL_KTLS_AES_CCM_128 + case NID_aes_128_ccm: + if (EVP_CIPHER_CTX_tag_length(dd) != EVP_CCM_TLS_TAG_LEN) + return 0; +# endif +# ifdef OPENSSL_KTLS_AES_GCM_128 + case NID_aes_128_gcm: +# endif +# ifdef OPENSSL_KTLS_AES_GCM_256 + case NID_aes_256_gcm: +# endif + return 1; + default: + return 0; + } +} + +/* Function to configure kernel TLS structure */ +int ktls_configure_crypto(const SSL *s, const EVP_CIPHER *c, EVP_CIPHER_CTX *dd, + void *rl_sequence, ktls_crypto_info_t *crypto_info, + unsigned char **rec_seq, unsigned char *iv, + unsigned char *key, unsigned char *mac_key, + size_t mac_secret_size) +{ + unsigned char geniv[12]; + unsigned char *iiv = iv; + + if (s->version == TLS1_2_VERSION && + EVP_CIPHER_mode(c) == EVP_CIPH_GCM_MODE) { + EVP_CIPHER_CTX_ctrl(dd, EVP_CTRL_GET_IV, + EVP_GCM_TLS_FIXED_IV_LEN + EVP_GCM_TLS_EXPLICIT_IV_LEN, + geniv); + iiv = geniv; + } + + memset(crypto_info, 0, sizeof(*crypto_info)); + switch (EVP_CIPHER_nid(c)) + { +# ifdef OPENSSL_KTLS_AES_GCM_128 + case NID_aes_128_gcm: + crypto_info->gcm128.info.cipher_type = TLS_CIPHER_AES_GCM_128; + crypto_info->gcm128.info.version = s->version; + crypto_info->tls_crypto_info_len = sizeof(crypto_info->gcm128); + memcpy(crypto_info->gcm128.iv, iiv + EVP_GCM_TLS_FIXED_IV_LEN, + TLS_CIPHER_AES_GCM_128_IV_SIZE); + memcpy(crypto_info->gcm128.salt, iiv, TLS_CIPHER_AES_GCM_128_SALT_SIZE); + memcpy(crypto_info->gcm128.key, key, EVP_CIPHER_key_length(c)); + memcpy(crypto_info->gcm128.rec_seq, rl_sequence, + TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE); + if (rec_seq != NULL) + *rec_seq = crypto_info->gcm128.rec_seq; + return 1; +# endif +# ifdef OPENSSL_KTLS_AES_GCM_256 + case NID_aes_256_gcm: + crypto_info->gcm256.info.cipher_type = TLS_CIPHER_AES_GCM_256; + crypto_info->gcm256.info.version = s->version; + crypto_info->tls_crypto_info_len = sizeof(crypto_info->gcm256); + memcpy(crypto_info->gcm256.iv, iiv + EVP_GCM_TLS_FIXED_IV_LEN, + TLS_CIPHER_AES_GCM_256_IV_SIZE); + memcpy(crypto_info->gcm256.salt, iiv, TLS_CIPHER_AES_GCM_256_SALT_SIZE); + memcpy(crypto_info->gcm256.key, key, EVP_CIPHER_key_length(c)); + memcpy(crypto_info->gcm256.rec_seq, rl_sequence, + TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE); + if (rec_seq != NULL) + *rec_seq = crypto_info->gcm256.rec_seq; + return 1; +# endif +# ifdef OPENSSL_KTLS_AES_CCM_128 + case NID_aes_128_ccm: + crypto_info->ccm128.info.cipher_type = TLS_CIPHER_AES_CCM_128; + crypto_info->ccm128.info.version = s->version; + crypto_info->tls_crypto_info_len = sizeof(crypto_info->ccm128); + memcpy(crypto_info->ccm128.iv, iiv + EVP_CCM_TLS_FIXED_IV_LEN, + TLS_CIPHER_AES_CCM_128_IV_SIZE); + memcpy(crypto_info->ccm128.salt, iiv, TLS_CIPHER_AES_CCM_128_SALT_SIZE); + memcpy(crypto_info->ccm128.key, key, EVP_CIPHER_key_length(c)); + memcpy(crypto_info->ccm128.rec_seq, rl_sequence, + TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE); + if (rec_seq != NULL) + *rec_seq = crypto_info->ccm128.rec_seq; + return 1; +# endif + default: + return 0; + } + +} + +#endif /* OPENSSL_SYS_LINUX */ diff --git ssl/record/rec_layer_s3.c ssl/record/rec_layer_s3.c index b2a7a47eb0..f53c402006 100644 --- ssl/record/rec_layer_s3.c +++ ssl/record/rec_layer_s3.c @@ -268,11 +268,15 @@ int ssl3_read_n(SSL *s, size_t n, size_t max, int extend, int clearold, return -1; } - /* We always act like read_ahead is set for DTLS */ - if (!s->rlayer.read_ahead && !SSL_IS_DTLS(s)) + /* + * Ktls always reads full records. + * Also, we always act like read_ahead is set for DTLS. + */ + if (!BIO_get_ktls_recv(s->rbio) && !s->rlayer.read_ahead + && !SSL_IS_DTLS(s)) { /* ignore max parameter */ max = n; - else { + } else { if (max < n) max = n; if (max > rb->len - rb->offset) @@ -422,6 +426,7 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, size_t len, len >= 4 * (max_send_fragment = ssl_get_max_send_fragment(s)) && s->compress == NULL && s->msg_callback == NULL && !SSL_WRITE_ETM(s) && SSL_USE_EXPLICIT_IV(s) && + (BIO_get_ktls_send(s->wbio) == 0) && EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(s->enc_write_ctx)) & EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK) { unsigned char aad[13]; @@ -751,6 +756,19 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, s->s3->empty_fragment_done = 1; } + if (BIO_get_ktls_send(s->wbio)) { + /* + * ktls doesn't modify the buffer, but to avoid a warning we need to + * discard the const qualifier. + * This doesn't leak memory because the buffers have been released when + * switching to ktls. + */ + SSL3_BUFFER_set_buf(&s->rlayer.wbuf[0], (unsigned char *)buf); + SSL3_BUFFER_set_offset(&s->rlayer.wbuf[0], 0); + SSL3_BUFFER_set_app_buffer(&s->rlayer.wbuf[0], 1); + goto wpacket_init_complete; + } + if (create_empty_fragment) { wb = &s->rlayer.wbuf[0]; #if defined(SSL3_ALIGN_PAYLOAD) && SSL3_ALIGN_PAYLOAD!=0 @@ -820,6 +838,8 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, } } + wpacket_init_complete: + totlen = 0; /* Clear our SSL3_RECORD structures */ memset(wr, 0, sizeof(wr)); @@ -861,15 +881,19 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, if (s->compress != NULL) maxcomplen += SSL3_RT_MAX_COMPRESSED_OVERHEAD; - /* write the header */ - if (!WPACKET_put_bytes_u8(thispkt, rectype) + /* + * When using offload kernel will write the header. + * Otherwise write the header now + */ + if (!BIO_get_ktls_send(s->wbio) + && (!WPACKET_put_bytes_u8(thispkt, rectype) || !WPACKET_put_bytes_u16(thispkt, version) || !WPACKET_start_sub_packet_u16(thispkt) || (eivlen > 0 && !WPACKET_allocate_bytes(thispkt, eivlen, NULL)) || (maxcomplen > 0 && !WPACKET_reserve_bytes(thispkt, maxcomplen, - &compressdata))) { + &compressdata)))) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, ERR_R_INTERNAL_ERROR); goto err; @@ -895,15 +919,20 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, goto err; } } else { - if (!WPACKET_memcpy(thispkt, thiswr->input, thiswr->length)) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, - ERR_R_INTERNAL_ERROR); - goto err; + if (BIO_get_ktls_send(s->wbio)) { + SSL3_RECORD_reset_data(&wr[j]); + } else { + if (!WPACKET_memcpy(thispkt, thiswr->input, thiswr->length)) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, + ERR_R_INTERNAL_ERROR); + goto err; + } + SSL3_RECORD_reset_input(&wr[j]); } - SSL3_RECORD_reset_input(&wr[j]); } if (SSL_TREAT_AS_TLS13(s) + && !BIO_get_ktls_send(s->wbio) && s->enc_write_ctx != NULL && (s->statem.enc_write_state != ENC_WRITE_STATE_WRITE_PLAIN_ALERTS || type != SSL3_RT_ALERT)) { @@ -959,7 +988,7 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, * in the wb->buf */ - if (!SSL_WRITE_ETM(s) && mac_size != 0) { + if (!BIO_get_ktls_send(s->wbio) && !SSL_WRITE_ETM(s) && mac_size != 0) { unsigned char *mac; if (!WPACKET_allocate_bytes(thispkt, mac_size, &mac) @@ -975,24 +1004,26 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, * This will be at most one cipher block or the tag length if using * AEAD. SSL_RT_MAX_CIPHER_BLOCK_SIZE covers either case. */ - if (!WPACKET_reserve_bytes(thispkt, SSL_RT_MAX_CIPHER_BLOCK_SIZE, - NULL) - /* - * We also need next the amount of bytes written to this - * sub-packet - */ + if (!BIO_get_ktls_send(s->wbio)) { + if (!WPACKET_reserve_bytes(thispkt, + SSL_RT_MAX_CIPHER_BLOCK_SIZE, + NULL) + /* + * We also need next the amount of bytes written to this + * sub-packet + */ || !WPACKET_get_length(thispkt, &len)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, ERR_R_INTERNAL_ERROR); goto err; - } - - /* Get a pointer to the start of this record excluding header */ - recordstart = WPACKET_get_curr(thispkt) - len; + } - SSL3_RECORD_set_data(thiswr, recordstart); - SSL3_RECORD_reset_input(thiswr); - SSL3_RECORD_set_length(thiswr, len); + /* Get a pointer to the start of this record excluding header */ + recordstart = WPACKET_get_curr(thispkt) - len; + SSL3_RECORD_set_data(thiswr, recordstart); + SSL3_RECORD_reset_input(thiswr); + SSL3_RECORD_set_length(thiswr, len); + } } if (s->statem.enc_write_state == ENC_WRITE_STATE_WRITE_PLAIN_ALERTS) { @@ -1008,12 +1039,14 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, goto err; } } else { - if (s->method->ssl3_enc->enc(s, wr, numpipes, 1) < 1) { - if (!ossl_statem_in_error(s)) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, - ERR_R_INTERNAL_ERROR); + if (!BIO_get_ktls_send(s->wbio)) { + if (s->method->ssl3_enc->enc(s, wr, numpipes, 1) < 1) { + if (!ossl_statem_in_error(s)) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, + ERR_R_INTERNAL_ERROR); + } + goto err; } - goto err; } } @@ -1023,13 +1056,17 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, thispkt = &pkt[j]; thiswr = &wr[j]; + if (BIO_get_ktls_send(s->wbio)) + goto mac_done; + /* Allocate bytes for the encryption overhead */ if (!WPACKET_get_length(thispkt, &origlen) /* Encryption should never shrink the data! */ || origlen > thiswr->length || (thiswr->length > origlen && !WPACKET_allocate_bytes(thispkt, - thiswr->length - origlen, NULL))) { + thiswr->length - origlen, + NULL))) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DO_SSL3_WRITE, ERR_R_INTERNAL_ERROR); goto err; @@ -1074,13 +1111,8 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, goto err; } - /* - * we should now have thiswr->data pointing to the encrypted data, which - * is thiswr->length long - */ - SSL3_RECORD_set_type(thiswr, type); /* not needed but helps for - * debugging */ - SSL3_RECORD_add_length(thiswr, SSL3_RT_HEADER_LENGTH); + /* header is added by the kernel when using offload */ + SSL3_RECORD_add_length(&wr[j], SSL3_RT_HEADER_LENGTH); if (create_empty_fragment) { /* @@ -1097,6 +1129,14 @@ int do_ssl3_write(SSL *s, int type, const unsigned char *buf, return 1; } + mac_done: + /* + * we should now have thiswr->data pointing to the encrypted data, which + * is thiswr->length long + */ + SSL3_RECORD_set_type(thiswr, type); /* not needed but helps for + * debugging */ + /* now let's set up wb */ SSL3_BUFFER_set_left(&s->rlayer.wbuf[j], prefix_len + SSL3_RECORD_get_length(thiswr)); @@ -1150,6 +1190,17 @@ int ssl3_write_pending(SSL *s, int type, const unsigned char *buf, size_t len, clear_sys_error(); if (s->wbio != NULL) { s->rwstate = SSL_WRITING; + + /* + * To prevent coalescing of control and data messages, + * such as in buffer_write, we flush the BIO + */ + if (BIO_get_ktls_send(s->wbio) && type != SSL3_RT_APPLICATION_DATA) { + i = BIO_flush(s->wbio); + if (i <= 0) + return i; + BIO_set_ktls_ctrl_msg(s->wbio, type); + } /* TODO(size_t): Convert this call */ i = BIO_write(s->wbio, (char *) &(SSL3_BUFFER_get_buf(&wb[currbuf]) @@ -1162,7 +1213,15 @@ int ssl3_write_pending(SSL *s, int type, const unsigned char *buf, size_t len, SSL_R_BIO_NOT_SET); i = -1; } - if (i > 0 && tmpwrit == SSL3_BUFFER_get_left(&wb[currbuf])) { + + /* + * When an empty fragment is sent on a connection using KTLS, + * it is sent as a write of zero bytes. If this zero byte + * write succeeds, i will be 0 rather than a non-zero value. + * Treat i == 0 as success rather than an error for zero byte + * writes to permit this case. + */ + if (i >= 0 && tmpwrit == SSL3_BUFFER_get_left(&wb[currbuf])) { SSL3_BUFFER_set_left(&wb[currbuf], 0); SSL3_BUFFER_add_offset(&wb[currbuf], tmpwrit); if (currbuf + 1 < s->rlayer.numwpipes) diff --git ssl/record/record.h ssl/record/record.h index af56206e07..10fdde71a8 100644 --- ssl/record/record.h +++ ssl/record/record.h @@ -25,6 +25,8 @@ typedef struct ssl3_buffer_st { size_t offset; /* how many bytes left */ size_t left; + /* 'buf' is from application for KTLS */ + int app_buffer; } SSL3_BUFFER; #define SEQ_NUM_SIZE 8 diff --git ssl/record/record_local.h ssl/record/record_local.h index 5e8dd7f704..4760eeb7d8 100644 --- ssl/record/record_local.h +++ ssl/record/record_local.h @@ -65,6 +65,8 @@ void dtls1_record_bitmap_update(SSL *s, DTLS1_BITMAP *bitmap); #define SSL3_BUFFER_add_offset(b, o) ((b)->offset += (o)) #define SSL3_BUFFER_is_initialised(b) ((b)->buf != NULL) #define SSL3_BUFFER_set_default_len(b, l) ((b)->default_len = (l)) +#define SSL3_BUFFER_set_app_buffer(b, l) ((b)->app_buffer = (l)) +#define SSL3_BUFFER_is_app_buffer(b) ((b)->app_buffer) void SSL3_BUFFER_clear(SSL3_BUFFER *b); void SSL3_BUFFER_set_data(SSL3_BUFFER *b, const unsigned char *d, size_t n); @@ -88,6 +90,7 @@ int ssl3_release_write_buffer(SSL *s); #define SSL3_RECORD_get_input(r) ((r)->input) #define SSL3_RECORD_set_input(r, i) ((r)->input = (i)) #define SSL3_RECORD_reset_input(r) ((r)->input = (r)->data) +#define SSL3_RECORD_reset_data(r) ((r)->data = (r)->input) #define SSL3_RECORD_get_seq_num(r) ((r)->seq_num) #define SSL3_RECORD_get_off(r) ((r)->off) #define SSL3_RECORD_set_off(r, o) ((r)->off = (o)) diff --git ssl/record/ssl3_buffer.c ssl/record/ssl3_buffer.c index 9b2a6964c6..fef54e01f3 100644 --- ssl/record/ssl3_buffer.c +++ ssl/record/ssl3_buffer.c @@ -111,23 +111,27 @@ int ssl3_setup_write_buffer(SSL *s, size_t numwpipes, size_t len) for (currpipe = 0; currpipe < numwpipes; currpipe++) { SSL3_BUFFER *thiswb = &wb[currpipe]; - if (thiswb->buf != NULL && thiswb->len != len) { + if (thiswb->len != len) { OPENSSL_free(thiswb->buf); thiswb->buf = NULL; /* force reallocation */ } if (thiswb->buf == NULL) { - p = OPENSSL_malloc(len); - if (p == NULL) { - s->rlayer.numwpipes = currpipe; - /* - * We've got a malloc failure, and we're still initialising - * buffers. We assume we're so doomed that we won't even be able - * to send an alert. - */ - SSLfatal(s, SSL_AD_NO_ALERT, - SSL_F_SSL3_SETUP_WRITE_BUFFER, ERR_R_MALLOC_FAILURE); - return 0; + if (s->wbio == NULL || !BIO_get_ktls_send(s->wbio)) { + p = OPENSSL_malloc(len); + if (p == NULL) { + s->rlayer.numwpipes = currpipe; + /* + * We've got a malloc failure, and we're still initialising + * buffers. We assume we're so doomed that we won't even be able + * to send an alert. + */ + SSLfatal(s, SSL_AD_NO_ALERT, + SSL_F_SSL3_SETUP_WRITE_BUFFER, ERR_R_MALLOC_FAILURE); + return 0; + } + } else { + p = NULL; } memset(thiswb, 0, sizeof(SSL3_BUFFER)); thiswb->buf = p; @@ -160,7 +164,10 @@ int ssl3_release_write_buffer(SSL *s) while (pipes > 0) { wb = &RECORD_LAYER_get_wbuf(&s->rlayer)[pipes - 1]; - OPENSSL_free(wb->buf); + if (SSL3_BUFFER_is_app_buffer(wb)) + SSL3_BUFFER_set_app_buffer(wb, 0); + else + OPENSSL_free(wb->buf); wb->buf = NULL; pipes--; } diff --git ssl/record/ssl3_record.c ssl/record/ssl3_record.c index ab5d22aa10..3d747db64b 100644 --- ssl/record/ssl3_record.c +++ ssl/record/ssl3_record.c @@ -186,9 +186,11 @@ int ssl3_get_record(SSL *s) size_t num_recs = 0, max_recs, j; PACKET pkt, sslv2pkt; size_t first_rec_len; + int is_ktls_left; rr = RECORD_LAYER_get_rrec(&s->rlayer); rbuf = RECORD_LAYER_get_rbuf(&s->rlayer); + is_ktls_left = (rbuf->left > 0); max_recs = s->max_pipelines; if (max_recs == 0) max_recs = 1; @@ -207,8 +209,32 @@ int ssl3_get_record(SSL *s) rret = ssl3_read_n(s, SSL3_RT_HEADER_LENGTH, SSL3_BUFFER_get_len(rbuf), 0, num_recs == 0 ? 1 : 0, &n); - if (rret <= 0) - return rret; /* error or non-blocking */ + if (rret <= 0) { +#ifndef OPENSSL_NO_KTLS + if (!BIO_get_ktls_recv(s->rbio) || rret == 0) + return rret; /* error or non-blocking */ + switch (errno) { + case EBADMSG: + SSLfatal(s, SSL_AD_BAD_RECORD_MAC, + SSL_F_SSL3_GET_RECORD, + SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC); + break; + case EMSGSIZE: + SSLfatal(s, SSL_AD_RECORD_OVERFLOW, + SSL_F_SSL3_GET_RECORD, + SSL_R_PACKET_LENGTH_TOO_LONG); + break; + case EINVAL: + SSLfatal(s, SSL_AD_PROTOCOL_VERSION, + SSL_F_SSL3_GET_RECORD, + SSL_R_WRONG_VERSION_NUMBER); + break; + default: + break; + } +#endif + return rret; + } RECORD_LAYER_set_rstate(&s->rlayer, SSL_ST_READ_BODY); p = RECORD_LAYER_get_packet(&s->rlayer); @@ -386,7 +412,7 @@ int ssl3_get_record(SSL *s) len -= SSL3_RT_MAX_COMPRESSED_OVERHEAD; #endif - if (thisrr->length > len) { + if (thisrr->length > len && !BIO_get_ktls_recv(s->rbio)) { SSLfatal(s, SSL_AD_RECORD_OVERFLOW, SSL_F_SSL3_GET_RECORD, SSL_R_ENCRYPTED_LENGTH_TOO_LONG); return -1; @@ -404,6 +430,7 @@ int ssl3_get_record(SSL *s) } else { more = thisrr->length; } + if (more > 0) { /* now s->packet_length == SSL3_RT_HEADER_LENGTH */ @@ -491,6 +518,13 @@ int ssl3_get_record(SSL *s) return 1; } + /* + * KTLS reads full records. If there is any data left, + * then it is from before enabling ktls + */ + if (BIO_get_ktls_recv(s->rbio) && !is_ktls_left) + goto skip_decryption; + /* * If in encrypt-then-mac mode calculate mac from encrypted record. All * the details below are public so no timing details can leak. @@ -678,6 +712,8 @@ int ssl3_get_record(SSL *s) return -1; } + skip_decryption: + for (j = 0; j < num_recs; j++) { thisrr = &rr[j]; @@ -739,7 +775,7 @@ int ssl3_get_record(SSL *s) return -1; } - if (thisrr->length > SSL3_RT_MAX_PLAIN_LENGTH) { + if (thisrr->length > SSL3_RT_MAX_PLAIN_LENGTH && !BIO_get_ktls_recv(s->rbio)) { SSLfatal(s, SSL_AD_RECORD_OVERFLOW, SSL_F_SSL3_GET_RECORD, SSL_R_DATA_LENGTH_TOO_LONG); return -1; @@ -747,7 +783,8 @@ int ssl3_get_record(SSL *s) /* If received packet overflows current Max Fragment Length setting */ if (s->session != NULL && USE_MAX_FRAGMENT_LENGTH_EXT(s->session) - && thisrr->length > GET_MAX_FRAGMENT_LENGTH(s->session)) { + && thisrr->length > GET_MAX_FRAGMENT_LENGTH(s->session) + && !BIO_get_ktls_recv(s->rbio)) { SSLfatal(s, SSL_AD_RECORD_OVERFLOW, SSL_F_SSL3_GET_RECORD, SSL_R_DATA_LENGTH_TOO_LONG); return -1; diff --git ssl/ssl_err.c ssl/ssl_err.c index 4b12ed1485..0561678c33 100644 --- ssl/ssl_err.c +++ ssl/ssl_err.c @@ -312,6 +312,7 @@ static const ERR_STRING_DATA SSL_str_functs[] = { "SSL_renegotiate_abbreviated"}, {ERR_PACK(ERR_LIB_SSL, SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT, 0), ""}, {ERR_PACK(ERR_LIB_SSL, SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT, 0), ""}, + {ERR_PACK(ERR_LIB_SSL, SSL_F_SSL_SENDFILE, 0), "SSL_sendfile"}, {ERR_PACK(ERR_LIB_SSL, SSL_F_SSL_SESSION_DUP, 0), "ssl_session_dup"}, {ERR_PACK(ERR_LIB_SSL, SSL_F_SSL_SESSION_NEW, 0), "SSL_SESSION_new"}, {ERR_PACK(ERR_LIB_SSL, SSL_F_SSL_SESSION_PRINT_FP, 0), diff --git ssl/ssl_lib.c ssl/ssl_lib.c index 98057921f8..382f4b6d7b 100644 --- ssl/ssl_lib.c +++ ssl/ssl_lib.c @@ -11,6 +11,7 @@ #include #include "ssl_local.h" +#include "e_os.h" #include #include #include @@ -22,6 +23,7 @@ #include #include "internal/cryptlib.h" #include "internal/refcount.h" +#include "internal/ktls.h" const char SSL_version_str[] = OPENSSL_VERSION_TEXT; @@ -1153,11 +1155,15 @@ void SSL_free(SSL *s) dane_final(&s->dane); CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL, s, &s->ex_data); + RECORD_LAYER_release(&s->rlayer); + /* Ignore return value */ ssl_free_wbio_buffer(s); BIO_free_all(s->wbio); + s->wbio = NULL; BIO_free_all(s->rbio); + s->rbio = NULL; BUF_MEM_free(s->init_buf); @@ -1214,8 +1220,6 @@ void SSL_free(SSL *s) if (s->method != NULL) s->method->ssl_free(s); - RECORD_LAYER_release(&s->rlayer); - SSL_CTX_free(s->ctx); ASYNC_WAIT_CTX_free(s->waitctx); @@ -1355,6 +1359,15 @@ int SSL_set_fd(SSL *s, int fd) } BIO_set_fd(bio, fd, BIO_NOCLOSE); SSL_set_bio(s, bio, bio); +#ifndef OPENSSL_NO_KTLS + /* + * The new socket is created successfully regardless of ktls_enable. + * ktls_enable doesn't change any functionality of the socket, except + * changing the setsockopt to enable the processing of ktls_start. + * Thus, it is not a problem to call it for non-TLS sockets. + */ + ktls_enable(fd); +#endif /* OPENSSL_NO_KTLS */ ret = 1; err: return ret; @@ -1374,6 +1387,15 @@ int SSL_set_wfd(SSL *s, int fd) } BIO_set_fd(bio, fd, BIO_NOCLOSE); SSL_set0_wbio(s, bio); +#ifndef OPENSSL_NO_KTLS + /* + * The new socket is created successfully regardless of ktls_enable. + * ktls_enable doesn't change any functionality of the socket, except + * changing the setsockopt to enable the processing of ktls_start. + * Thus, it is not a problem to call it for non-TLS sockets. + */ + ktls_enable(fd); +#endif /* OPENSSL_NO_KTLS */ } else { BIO_up_ref(rbio); SSL_set0_wbio(s, rbio); @@ -1955,6 +1977,69 @@ int ssl_write_internal(SSL *s, const void *buf, size_t num, size_t *written) } } +ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, int flags) +{ + ossl_ssize_t ret; + + if (s->handshake_func == NULL) { + SSLerr(SSL_F_SSL_SENDFILE, SSL_R_UNINITIALIZED); + return -1; + } + + if (s->shutdown & SSL_SENT_SHUTDOWN) { + s->rwstate = SSL_NOTHING; + SSLerr(SSL_F_SSL_SENDFILE, SSL_R_PROTOCOL_IS_SHUTDOWN); + return -1; + } + + if (!BIO_get_ktls_send(s->wbio)) { + SSLerr(SSL_F_SSL_SENDFILE, SSL_R_UNINITIALIZED); + return -1; + } + + /* If we have an alert to send, lets send it */ + if (s->s3->alert_dispatch) { + ret = (ossl_ssize_t)s->method->ssl_dispatch_alert(s); + if (ret <= 0) { + /* SSLfatal() already called if appropriate */ + return ret; + } + /* if it went, fall through and send more stuff */ + } + + s->rwstate = SSL_WRITING; + if (BIO_flush(s->wbio) <= 0) { + if (!BIO_should_retry(s->wbio)) { + s->rwstate = SSL_NOTHING; + } else { +#ifdef EAGAIN + set_sys_error(EAGAIN); +#endif + } + return -1; + } + +#ifdef OPENSSL_NO_KTLS + ERR_raise_data(ERR_LIB_SYS, ERR_R_INTERNAL_ERROR, "calling sendfile()"); + return -1; +#else + ret = ktls_sendfile(SSL_get_wfd(s), fd, offset, size, flags); + if (ret < 0) { +#if defined(EAGAIN) && defined(EINTR) && defined(EBUSY) + if ((get_last_sys_error() == EAGAIN) || + (get_last_sys_error() == EINTR) || + (get_last_sys_error() == EBUSY)) + BIO_set_retry_write(s->wbio); + else +#endif + SSLerr(SSL_F_SSL_SENDFILE, SSL_R_UNINITIALIZED); + return ret; + } + s->rwstate = SSL_NOTHING; + return ret; +#endif +} + int SSL_write(SSL *s, const void *buf, int num) { int ret; @@ -2199,6 +2284,10 @@ long SSL_ctrl(SSL *s, int cmd, long larg, void *parg) case SSL_CTRL_SET_MAX_SEND_FRAGMENT: if (larg < 512 || larg > SSL3_RT_MAX_PLAIN_LENGTH) return 0; +#ifndef OPENSSL_NO_KTLS + if (s->wbio != NULL && BIO_get_ktls_send(s->wbio)) + return 0; +#endif /* OPENSSL_NO_KTLS */ s->max_send_fragment = larg; if (s->max_send_fragment < s->split_send_fragment) s->split_send_fragment = s->max_send_fragment; @@ -4417,11 +4506,18 @@ int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size) return 1; } -void SSL_set_record_padding_callback(SSL *ssl, +int SSL_set_record_padding_callback(SSL *ssl, size_t (*cb) (SSL *ssl, int type, size_t len, void *arg)) { - ssl->record_padding_cb = cb; + BIO *b; + + b = SSL_get_wbio(ssl); + if (b == NULL || !BIO_get_ktls_send(b)) { + ssl->record_padding_cb = cb; + return 1; + } + return 0; } void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg) diff --git ssl/ssl_local.h ssl/ssl_local.h index 8c3542a542..c10e7d52ce 100644 --- ssl/ssl_local.h +++ ssl/ssl_local.h @@ -34,6 +34,8 @@ # include "internal/dane.h" # include "internal/refcount.h" # include "internal/tsan_assist.h" +# include "internal/bio.h" +# include "internal/ktls.h" # ifdef OPENSSL_BUILD_SHLIBSSL # undef OPENSSL_EXTERN @@ -2617,6 +2619,17 @@ __owur int ssl_log_secret(SSL *ssl, const char *label, #define EARLY_EXPORTER_SECRET_LABEL "EARLY_EXPORTER_SECRET" #define EXPORTER_SECRET_LABEL "EXPORTER_SECRET" +# ifndef OPENSSL_NO_KTLS +/* ktls.c */ +int ktls_check_supported_cipher(const SSL *s, const EVP_CIPHER *c, + const EVP_CIPHER_CTX *dd); +int ktls_configure_crypto(const SSL *s, const EVP_CIPHER *c, EVP_CIPHER_CTX *dd, + void *rl_sequence, ktls_crypto_info_t *crypto_info, + unsigned char **rec_seq, unsigned char *iv, + unsigned char *key, unsigned char *mac_key, + size_t mac_secret_size); +# endif + /* s3_cbc.c */ __owur char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx); __owur int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx, diff --git ssl/t1_enc.c ssl/t1_enc.c index c85c0b0310..d461421068 100644 --- ssl/t1_enc.c +++ ssl/t1_enc.c @@ -10,10 +10,14 @@ #include #include "ssl_local.h" +#include "record/record_local.h" +#include "internal/ktls.h" +#include "internal/cryptlib.h" #include #include #include #include +#include /* seed1 through seed5 are concatenated */ static int tls1_PRF(SSL *s, @@ -78,6 +82,41 @@ static int tls1_generate_key_block(SSL *s, unsigned char *km, size_t num) return ret; } +#ifndef OPENSSL_NO_KTLS + /* + * Count the number of records that were not processed yet from record boundary. + * + * This function assumes that there are only fully formed records read in the + * record layer. If read_ahead is enabled, then this might be false and this + * function will fail. + */ +# ifndef OPENSSL_NO_KTLS_RX +static int count_unprocessed_records(SSL *s) +{ + SSL3_BUFFER *rbuf = RECORD_LAYER_get_rbuf(&s->rlayer); + PACKET pkt, subpkt; + int count = 0; + + if (!PACKET_buf_init(&pkt, rbuf->buf + rbuf->offset, rbuf->left)) + return -1; + + while (PACKET_remaining(&pkt) > 0) { + /* Skip record type and version */ + if (!PACKET_forward(&pkt, 3)) + return -1; + + /* Read until next record */ + if (PACKET_get_length_prefixed_2(&pkt, &subpkt)) + return -1; + + count += 1; + } + + return count; +} +# endif +#endif + int tls1_change_cipher_state(SSL *s, int which) { unsigned char *p, *mac_secret; @@ -94,6 +133,16 @@ int tls1_change_cipher_state(SSL *s, int which) EVP_PKEY *mac_key; size_t n, i, j, k, cl; int reuse_dd = 0; +#ifndef OPENSSL_NO_KTLS + ktls_crypto_info_t crypto_info; + unsigned char *rec_seq; + void *rl_sequence; +# ifndef OPENSSL_NO_KTLS_RX + int count_unprocessed; + int bit; +# endif + BIO *bio; +#endif c = s->s3->tmp.new_sym_enc; m = s->s3->tmp.new_hash; @@ -312,6 +361,85 @@ int tls1_change_cipher_state(SSL *s, int which) ERR_R_INTERNAL_ERROR); goto err; } +#ifndef OPENSSL_NO_KTLS + if (s->compress) + goto skip_ktls; + + if (((which & SSL3_CC_READ) && (s->mode & SSL_MODE_NO_KTLS_RX)) + || ((which & SSL3_CC_WRITE) && (s->mode & SSL_MODE_NO_KTLS_TX))) + goto skip_ktls; + + /* ktls supports only the maximum fragment size */ + if (ssl_get_max_send_fragment(s) != SSL3_RT_MAX_PLAIN_LENGTH) + goto skip_ktls; + + /* check that cipher is supported */ + if (!ktls_check_supported_cipher(s, c, dd)) + goto skip_ktls; + + if (which & SSL3_CC_WRITE) + bio = s->wbio; + else + bio = s->rbio; + + if (!ossl_assert(bio != NULL)) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS1_CHANGE_CIPHER_STATE, + ERR_R_INTERNAL_ERROR); + goto err; + } + + /* All future data will get encrypted by ktls. Flush the BIO or skip ktls */ + if (which & SSL3_CC_WRITE) { + if (BIO_flush(bio) <= 0) + goto skip_ktls; + } + + /* ktls doesn't support renegotiation */ + if ((BIO_get_ktls_send(s->wbio) && (which & SSL3_CC_WRITE)) || + (BIO_get_ktls_recv(s->rbio) && (which & SSL3_CC_READ))) { + SSLfatal(s, SSL_AD_NO_RENEGOTIATION, SSL_F_TLS1_CHANGE_CIPHER_STATE, + ERR_R_INTERNAL_ERROR); + goto err; + } + + if (which & SSL3_CC_WRITE) + rl_sequence = RECORD_LAYER_get_write_sequence(&s->rlayer); + else + rl_sequence = RECORD_LAYER_get_read_sequence(&s->rlayer); + + if (!ktls_configure_crypto(s, c, dd, rl_sequence, &crypto_info, &rec_seq, + iv, key, ms, *mac_secret_size)) + goto skip_ktls; + + if (which & SSL3_CC_READ) { +# ifndef OPENSSL_NO_KTLS_RX + count_unprocessed = count_unprocessed_records(s); + if (count_unprocessed < 0) + goto skip_ktls; + + /* increment the crypto_info record sequence */ + while (count_unprocessed) { + for (bit = 7; bit >= 0; bit--) { /* increment */ + ++rec_seq[bit]; + if (rec_seq[bit] != 0) + break; + } + count_unprocessed--; + } +# else + goto skip_ktls; +# endif + } + + /* ktls works with user provided buffers directly */ + if (BIO_set_ktls(bio, &crypto_info, which & SSL3_CC_WRITE)) { + if (which & SSL3_CC_WRITE) + ssl3_release_write_buffer(s); + SSL_set_options(s, SSL_OP_NO_RENEGOTIATION); + } + + skip_ktls: +#endif /* OPENSSL_NO_KTLS */ s->statem.enc_write_state = ENC_WRITE_STATE_VALID; #ifdef SSL_DEBUG diff --git ssl/tls13_enc.c ssl/tls13_enc.c index b8fb07f210..d9f050ee34 100644 --- ssl/tls13_enc.c +++ ssl/tls13_enc.c @@ -9,6 +9,8 @@ #include #include "ssl_local.h" +#include "internal/ktls.h" +#include "record/record_local.h" #include "internal/cryptlib.h" #include #include @@ -363,9 +365,9 @@ static int derive_secret_key_and_iv(SSL *s, int sending, const EVP_MD *md, const unsigned char *hash, const unsigned char *label, size_t labellen, unsigned char *secret, - unsigned char *iv, EVP_CIPHER_CTX *ciph_ctx) + unsigned char *key, unsigned char *iv, + EVP_CIPHER_CTX *ciph_ctx) { - unsigned char key[EVP_MAX_KEY_LENGTH]; size_t ivlen, keylen, taglen; int hashleni = EVP_MD_size(md); size_t hashlen; @@ -374,14 +376,14 @@ static int derive_secret_key_and_iv(SSL *s, int sending, const EVP_MD *md, if (!ossl_assert(hashleni >= 0)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DERIVE_SECRET_KEY_AND_IV, ERR_R_EVP_LIB); - goto err; + return 0; } hashlen = (size_t)hashleni; if (!tls13_hkdf_expand(s, md, insecret, label, labellen, hash, hashlen, secret, hashlen, 1)) { /* SSLfatal() already called */ - goto err; + return 0; } /* TODO(size_t): convert me */ @@ -401,7 +403,7 @@ static int derive_secret_key_and_iv(SSL *s, int sending, const EVP_MD *md, } else { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DERIVE_SECRET_KEY_AND_IV, ERR_R_EVP_LIB); - goto err; + return 0; } if (algenc & (SSL_AES128CCM8 | SSL_AES256CCM8)) taglen = EVP_CCM8_TLS_TAG_LEN; @@ -415,7 +417,7 @@ static int derive_secret_key_and_iv(SSL *s, int sending, const EVP_MD *md, if (!tls13_derive_key(s, md, secret, key, keylen) || !tls13_derive_iv(s, md, secret, iv, ivlen)) { /* SSLfatal() already called */ - goto err; + return 0; } if (EVP_CipherInit_ex(ciph_ctx, ciph, NULL, NULL, NULL, sending) <= 0 @@ -425,13 +427,10 @@ static int derive_secret_key_and_iv(SSL *s, int sending, const EVP_MD *md, || EVP_CipherInit_ex(ciph_ctx, NULL, NULL, key, NULL, -1) <= 0) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_DERIVE_SECRET_KEY_AND_IV, ERR_R_EVP_LIB); - goto err; + return 0; } return 1; - err: - OPENSSL_cleanse(key, sizeof(key)); - return 0; } int tls13_change_cipher_state(SSL *s, int which) @@ -456,6 +455,7 @@ int tls13_change_cipher_state(SSL *s, int which) static const unsigned char early_exporter_master_secret[] = "e exp master"; #endif unsigned char *iv; + unsigned char key[EVP_MAX_KEY_LENGTH]; unsigned char secret[EVP_MAX_MD_SIZE]; unsigned char hashval[EVP_MAX_MD_SIZE]; unsigned char *hash = hashval; @@ -469,6 +469,10 @@ int tls13_change_cipher_state(SSL *s, int which) int ret = 0; const EVP_MD *md = NULL; const EVP_CIPHER *cipher = NULL; +#if !defined(OPENSSL_NO_KTLS) && defined(OPENSSL_KTLS_TLS13) + ktls_crypto_info_t crypto_info; + BIO *bio; +#endif if (which & SSL3_CC_READ) { if (s->enc_read_ctx != NULL) { @@ -671,9 +675,13 @@ int tls13_change_cipher_state(SSL *s, int which) } } + /* check whether cipher is known */ + if(!ossl_assert(cipher != NULL)) + goto err; + if (!derive_secret_key_and_iv(s, which & SSL3_CC_WRITE, md, cipher, - insecret, hash, label, labellen, secret, iv, - ciph_ctx)) { + insecret, hash, label, labellen, secret, key, + iv, ciph_ctx)) { /* SSLfatal() already called */ goto err; } @@ -714,8 +722,51 @@ int tls13_change_cipher_state(SSL *s, int which) s->statem.enc_write_state = ENC_WRITE_STATE_WRITE_PLAIN_ALERTS; else s->statem.enc_write_state = ENC_WRITE_STATE_VALID; +#ifndef OPENSSL_NO_KTLS +# if defined(OPENSSL_KTLS_TLS13) + if (!(which & SSL3_CC_WRITE) || !(which & SSL3_CC_APPLICATION) + || ((which & SSL3_CC_WRITE) && (s->mode & SSL_MODE_NO_KTLS_TX))) + goto skip_ktls; + + /* ktls supports only the maximum fragment size */ + if (ssl_get_max_send_fragment(s) != SSL3_RT_MAX_PLAIN_LENGTH) + goto skip_ktls; + + /* ktls does not support record padding */ + if (s->record_padding_cb != NULL) + goto skip_ktls; + + /* check that cipher is supported */ + if (!ktls_check_supported_cipher(s, cipher, ciph_ctx)) + goto skip_ktls; + + bio = s->wbio; + + if (!ossl_assert(bio != NULL)) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS13_CHANGE_CIPHER_STATE, + ERR_R_INTERNAL_ERROR); + goto err; + } + + /* All future data will get encrypted by ktls. Flush the BIO or skip ktls */ + if (BIO_flush(bio) <= 0) + goto skip_ktls; + + /* configure kernel crypto structure */ + if (!ktls_configure_crypto(s, cipher, ciph_ctx, + RECORD_LAYER_get_write_sequence(&s->rlayer), + &crypto_info, NULL, iv, key, NULL, 0)) + goto skip_ktls; + + /* ktls works with user provided buffers directly */ + if (BIO_set_ktls(bio, &crypto_info, which & SSL3_CC_WRITE)) + ssl3_release_write_buffer(s); +skip_ktls: +# endif +#endif ret = 1; err: + OPENSSL_cleanse(key, sizeof(key)); OPENSSL_cleanse(secret, sizeof(secret)); return ret; } @@ -729,6 +780,7 @@ int tls13_update_key(SSL *s, int sending) #endif const EVP_MD *md = ssl_handshake_md(s); size_t hashlen = EVP_MD_size(md); + unsigned char key[EVP_MAX_KEY_LENGTH]; unsigned char *insecret, *iv; unsigned char secret[EVP_MAX_MD_SIZE]; EVP_CIPHER_CTX *ciph_ctx; @@ -753,8 +805,8 @@ int tls13_update_key(SSL *s, int sending) if (!derive_secret_key_and_iv(s, sending, ssl_handshake_md(s), s->s3->tmp.new_sym_enc, insecret, NULL, application_traffic, - sizeof(application_traffic) - 1, secret, iv, - ciph_ctx)) { + sizeof(application_traffic) - 1, secret, key, + iv, ciph_ctx)) { /* SSLfatal() already called */ goto err; } @@ -764,6 +816,7 @@ int tls13_update_key(SSL *s, int sending) s->statem.enc_write_state = ENC_WRITE_STATE_VALID; ret = 1; err: + OPENSSL_cleanse(key, sizeof(key)); OPENSSL_cleanse(secret, sizeof(secret)); return ret; } diff --git test/build.info test/build.info index bc3dae81f9..e5ccaab5ba 100644 --- test/build.info +++ test/build.info @@ -544,7 +544,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN # We disable this test completely in a shared build because it deliberately # redefines some internal libssl symbols. This doesn't work in a non-shared # build - IF[{- !$disabled{shared} -}] + IF[{- !$disabled{shared} && $disabled{ktls} -}] PROGRAMS_NO_INST=tls13secretstest SOURCE[tls13secretstest]=tls13secretstest.c SOURCE[tls13secretstest]= ../ssl/tls13_enc.c ../ssl/packet.c diff --git test/recipes/90-test_tls13secrets.t test/recipes/90-test_tls13secrets.t index 5490885309..3478e540ed 100644 --- test/recipes/90-test_tls13secrets.t +++ test/recipes/90-test_tls13secrets.t @@ -13,7 +13,7 @@ my $test_name = "tls13secrets"; setup($test_name); plan skip_all => "$test_name is not supported in this build" - if disabled("tls1_3") || disabled("shared"); + if disabled("tls1_3") || disabled("shared") || !disabled("ktls"); plan tests => 1; diff --git test/sslapitest.c test/sslapitest.c index 4a27ee1ba2..f846bcb4ee 100644 --- test/sslapitest.c +++ test/sslapitest.c @@ -7,6 +7,7 @@ * https://www.openssl.org/source/license.html */ +#include #include #include -@@ -17,11 +18,13 @@ +@@ -17,12 +18,14 @@ #include #include #include +#include + #include #include "ssltestlib.h" #include "testutil.h" #include "testutil/output.h" #include "internal/nelem.h" +#include "internal/ktls.h" #include "../ssl/ssl_local.h" #ifndef OPENSSL_NO_TLS1_3 @@ -779,6 +782,409 @@ static int execute_test_large_message(const SSL_METHOD *smeth, return testresult; } +#if !defined(OPENSSL_NO_SOCK) && !defined(OPENSSL_NO_KTLS) && \ + !(defined(OPENSSL_NO_TLS1_3) && defined(OPENSSL_NO_TLS1_2)) +#define TLS_CIPHER_MAX_REC_SEQ_SIZE 8 +/* sock must be connected */ +static int ktls_chk_platform(int sock) +{ + if (!ktls_enable(sock)) + return 0; + return 1; +} + +static int ping_pong_query(SSL *clientssl, SSL *serverssl, int cfd, int sfd, int rec_seq_size) +{ + static char count = 1; + unsigned char cbuf[16000] = {0}; + unsigned char sbuf[16000]; + size_t err = 0; + char crec_wseq_before[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char crec_wseq_after[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char crec_rseq_before[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char crec_rseq_after[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char srec_wseq_before[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char srec_wseq_after[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char srec_rseq_before[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + char srec_rseq_after[TLS_CIPHER_MAX_REC_SEQ_SIZE]; + + cbuf[0] = count++; + memcpy(crec_wseq_before, &clientssl->rlayer.write_sequence, rec_seq_size); + memcpy(crec_rseq_before, &clientssl->rlayer.read_sequence, rec_seq_size); + memcpy(srec_wseq_before, &serverssl->rlayer.write_sequence, rec_seq_size); + memcpy(srec_rseq_before, &serverssl->rlayer.read_sequence, rec_seq_size); + + if (!TEST_true(SSL_write(clientssl, cbuf, sizeof(cbuf)) == sizeof(cbuf))) + goto end; + + while ((err = SSL_read(serverssl, &sbuf, sizeof(sbuf))) != sizeof(sbuf)) { + if (SSL_get_error(serverssl, err) != SSL_ERROR_WANT_READ) { + goto end; + } + } + + if (!TEST_true(SSL_write(serverssl, sbuf, sizeof(sbuf)) == sizeof(sbuf))) + goto end; + + while ((err = SSL_read(clientssl, &cbuf, sizeof(cbuf))) != sizeof(cbuf)) { + if (SSL_get_error(clientssl, err) != SSL_ERROR_WANT_READ) { + goto end; + } + } + + memcpy(crec_wseq_after, &clientssl->rlayer.write_sequence, rec_seq_size); + memcpy(crec_rseq_after, &clientssl->rlayer.read_sequence, rec_seq_size); + memcpy(srec_wseq_after, &serverssl->rlayer.write_sequence, rec_seq_size); + memcpy(srec_rseq_after, &serverssl->rlayer.read_sequence, rec_seq_size); + + /* verify the payload */ + if (!TEST_mem_eq(cbuf, sizeof(cbuf), sbuf, sizeof(sbuf))) + goto end; + + /* ktls is used then kernel sequences are used instead of OpenSSL sequences */ + if (clientssl->mode & SSL_MODE_NO_KTLS_TX) { + if (!TEST_mem_ne(crec_wseq_before, rec_seq_size, + crec_wseq_after, rec_seq_size)) + goto end; + } else { + if (!TEST_mem_eq(crec_wseq_before, rec_seq_size, + crec_wseq_after, rec_seq_size)) + goto end; + } + + if (serverssl->mode & SSL_MODE_NO_KTLS_TX) { + if (!TEST_mem_ne(srec_wseq_before, rec_seq_size, + srec_wseq_after, rec_seq_size)) + goto end; + } else { + if (!TEST_mem_eq(srec_wseq_before, rec_seq_size, + srec_wseq_after, rec_seq_size)) + goto end; + } + + if (clientssl->mode & SSL_MODE_NO_KTLS_RX) { + if (!TEST_mem_ne(crec_rseq_before, rec_seq_size, + crec_rseq_after, rec_seq_size)) + goto end; + } else { + if (!TEST_mem_eq(crec_rseq_before, rec_seq_size, + crec_rseq_after, rec_seq_size)) + goto end; + } + + if (serverssl->mode & SSL_MODE_NO_KTLS_RX) { + if (!TEST_mem_ne(srec_rseq_before, rec_seq_size, + srec_rseq_after, rec_seq_size)) + goto end; + } else { + if (!TEST_mem_eq(srec_rseq_before, rec_seq_size, + srec_rseq_after, rec_seq_size)) + goto end; + } + + return 1; +end: + return 0; +} + +static int execute_test_ktls(int cis_ktls_tx, int cis_ktls_rx, + int sis_ktls_tx, int sis_ktls_rx, + int tls_version, const char *cipher, + int rec_seq_size) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + int testresult = 0; + int cfd, sfd; + + if (!TEST_true(create_test_sockets(&cfd, &sfd))) + goto end; + + /* Skip this test if the platform does not support ktls */ + if (!ktls_chk_platform(cfd)) + return 1; + + /* Create a session based on SHA-256 */ + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + tls_version, tls_version, + &sctx, &cctx, cert, privkey)) + || !TEST_true(SSL_CTX_set_cipher_list(cctx, cipher)) + || !TEST_true(SSL_CTX_set_cipher_list(sctx, cipher)) + || !TEST_true(create_ssl_objects2(sctx, cctx, &serverssl, + &clientssl, sfd, cfd))) + goto end; + + if (!cis_ktls_tx) { + if (!TEST_true(SSL_set_mode(clientssl, SSL_MODE_NO_KTLS_TX))) + goto end; + } + + if (!sis_ktls_tx) { + if (!TEST_true(SSL_set_mode(serverssl, SSL_MODE_NO_KTLS_TX))) + goto end; + } + + if (!cis_ktls_rx) { + if (!TEST_true(SSL_set_mode(clientssl, SSL_MODE_NO_KTLS_RX))) + goto end; + } + + if (!sis_ktls_rx) { + if (!TEST_true(SSL_set_mode(serverssl, SSL_MODE_NO_KTLS_RX))) + goto end; + } + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE))) + goto end; + + if (!cis_ktls_tx) { + if (!TEST_false(BIO_get_ktls_send(clientssl->wbio))) + goto end; + } else { + if (!TEST_true(BIO_get_ktls_send(clientssl->wbio))) + goto end; + } + + if (!sis_ktls_tx) { + if (!TEST_false(BIO_get_ktls_send(serverssl->wbio))) + goto end; + } else { + if (!TEST_true(BIO_get_ktls_send(serverssl->wbio))) + goto end; + } + + if (!cis_ktls_rx) { + if (!TEST_false(BIO_get_ktls_recv(clientssl->rbio))) + goto end; + } else { + if (!TEST_true(BIO_get_ktls_recv(clientssl->rbio))) + goto end; + } + + if (!sis_ktls_rx) { + if (!TEST_false(BIO_get_ktls_recv(serverssl->rbio))) + goto end; + } else { + if (!TEST_true(BIO_get_ktls_recv(serverssl->rbio))) + goto end; + } + + if (!TEST_true(ping_pong_query(clientssl, serverssl, cfd, sfd, + rec_seq_size))) + goto end; + + testresult = 1; +end: + if (clientssl) { + SSL_shutdown(clientssl); + SSL_free(clientssl); + } + if (serverssl) { + SSL_shutdown(serverssl); + SSL_free(serverssl); + } + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + serverssl = clientssl = NULL; + return testresult; +} + +#define SENDFILE_SZ (16 * 4096) +#define SENDFILE_CHUNK (4 * 4096) +#define min(a,b) ((a) > (b) ? (b) : (a)) + +static int test_ktls_sendfile(int tls_version, const char *cipher) +{ + SSL_CTX *cctx = NULL, *sctx = NULL; + SSL *clientssl = NULL, *serverssl = NULL; + unsigned char *buf, *buf_dst; + BIO *out = NULL, *in = NULL; + int cfd, sfd, ffd, err; + ssize_t chunk_size = 0; + off_t chunk_off = 0; + int testresult = 0; + FILE *ffdp; + + buf = OPENSSL_zalloc(SENDFILE_SZ); + buf_dst = OPENSSL_zalloc(SENDFILE_SZ); + if (!TEST_ptr(buf) || !TEST_ptr(buf_dst) + || !TEST_true(create_test_sockets(&cfd, &sfd))) + goto end; + + /* Skip this test if the platform does not support ktls */ + if (!ktls_chk_platform(sfd)) { + testresult = 1; + goto end; + } + + /* Create a session based on SHA-256 */ + if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + TLS_client_method(), + tls_version, tls_version, + &sctx, &cctx, cert, privkey)) + || !TEST_true(SSL_CTX_set_cipher_list(cctx, cipher)) + || !TEST_true(SSL_CTX_set_cipher_list(sctx, cipher)) + || !TEST_true(create_ssl_objects2(sctx, cctx, &serverssl, + &clientssl, sfd, cfd))) + goto end; + + if (!TEST_true(create_ssl_connection(serverssl, clientssl, + SSL_ERROR_NONE)) + || !TEST_true(BIO_get_ktls_send(serverssl->wbio))) + goto end; + + RAND_bytes(buf, SENDFILE_SZ); + out = BIO_new_file(tmpfilename, "wb"); + if (!TEST_ptr(out)) + goto end; + + if (BIO_write(out, buf, SENDFILE_SZ) != SENDFILE_SZ) + goto end; + + BIO_free(out); + out = NULL; + in = BIO_new_file(tmpfilename, "rb"); + BIO_get_fp(in, &ffdp); + ffd = fileno(ffdp); + + while (chunk_off < SENDFILE_SZ) { + chunk_size = min(SENDFILE_CHUNK, SENDFILE_SZ - chunk_off); + while ((err = SSL_sendfile(serverssl, + ffd, + chunk_off, + chunk_size, + 0)) != chunk_size) { + if (SSL_get_error(serverssl, err) != SSL_ERROR_WANT_WRITE) + goto end; + } + while ((err = SSL_read(clientssl, + buf_dst + chunk_off, + chunk_size)) != chunk_size) { + if (SSL_get_error(clientssl, err) != SSL_ERROR_WANT_READ) + goto end; + } + + /* verify the payload */ + if (!TEST_mem_eq(buf_dst + chunk_off, + chunk_size, + buf + chunk_off, + chunk_size)) + goto end; + + chunk_off += chunk_size; + } + + testresult = 1; +end: + if (clientssl) { + SSL_shutdown(clientssl); + SSL_free(clientssl); + } + if (serverssl) { + SSL_shutdown(serverssl); + SSL_free(serverssl); + } + SSL_CTX_free(sctx); + SSL_CTX_free(cctx); + serverssl = clientssl = NULL; + BIO_free(out); + BIO_free(in); + OPENSSL_free(buf); + OPENSSL_free(buf_dst); + return testresult; +} + +#if !defined(OPENSSL_NO_TLS1_2) || !defined(OPENSSL_NO_TLS1_3) +static int test_ktls(int test) +{ + int cis_ktls_tx, cis_ktls_rx, sis_ktls_tx, sis_ktls_rx; + int tlsver, testresult; + + if (test > 15) { +#if defined(OPENSSL_NO_TLS1_3) + return 1; +#else + test -= 16; + tlsver = TLS1_3_VERSION; +#endif + } else { +#if defined(OPENSSL_NO_TLS1_2) + return 1; +#else + tlsver = TLS1_2_VERSION; +#endif + } + + cis_ktls_tx = (test & 1) != 0; + cis_ktls_rx = (test & 2) != 0; + sis_ktls_tx = (test & 4) != 0; + sis_ktls_rx = (test & 8) != 0; + +#if defined(OPENSSL_NO_KTLS_RX) + if (cis_ktls_rx || sis_ktls_rx) + return 1; +#endif +#if !defined(OPENSSL_NO_TLS1_3) + if (tlsver == TLS1_3_VERSION && (cis_ktls_rx || sis_ktls_rx)) + return 1; +#endif + + testresult = 1; +#ifdef OPENSSL_KTLS_AES_GCM_128 + testresult &= execute_test_ktls(cis_ktls_tx, cis_ktls_rx, sis_ktls_tx, + sis_ktls_rx, tlsver, "AES128-GCM-SHA256", + TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE); +#endif +#ifdef OPENSSL_KTLS_AES_CCM_128 + testresult &= execute_test_ktls(cis_ktls_tx, cis_ktls_rx, sis_ktls_tx, + sis_ktls_rx, tlsver, "AES128-CCM", + TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE); +#endif +#ifdef OPENSSL_KTLS_AES_GCM_256 + testresult &= execute_test_ktls(cis_ktls_tx, cis_ktls_rx, sis_ktls_tx, + sis_ktls_rx, tlsver, "AES256-GCM-SHA384", + TLS_CIPHER_AES_GCM_256_REC_SEQ_SIZE); +#endif + return testresult; +} + +static int test_ktls_sendfile_anytls(int tst) +{ + char *cipher[] = {"AES128-GCM-SHA256","AES128-CCM","AES256-GCM-SHA384"}; + int tlsver; + + if (tst > 2) { +#if defined(OPENSSL_NO_TLS1_3) + return 1; +#else + tst -= 3; + tlsver = TLS1_3_VERSION; +#endif + } else { +#if defined(OPENSSL_NO_TLS1_2) + return 1; +#else + tlsver = TLS1_2_VERSION; +#endif + } + +#ifndef OPENSSL_KTLS_AES_GCM_128 + if(tst == 0) return 1; +#endif +#ifndef OPENSSL_KTLS_AES_CCM_128 + if(tst == 1) return 1; +#endif +#ifndef OPENSSL_KTLS_AES_GCM_256 + if(tst == 2) return 1; +#endif + return test_ktls_sendfile(tlsver, cipher[tst]); +} + +#endif +#endif + static int test_large_message_tls(void) { return execute_test_large_message(TLS_server_method(), TLS_client_method(), @@ -6747,6 +7153,12 @@ int setup_tests(void) return 0; } +#if !defined(OPENSSL_NO_KTLS) && !defined(OPENSSL_NO_SOCK) +#if !defined(OPENSSL_NO_TLS1_2) || !defined(OPENSSL_NO_TLS1_3) + ADD_ALL_TESTS(test_ktls, 32); + ADD_ALL_TESTS(test_ktls_sendfile_anytls, 6); +#endif +#endif ADD_TEST(test_large_message_tls); ADD_TEST(test_large_message_tls_read_ahead); #ifndef OPENSSL_NO_DTLS diff --git test/ssltestlib.c test/ssltestlib.c index 456afdf471..bae39823d2 100644 --- test/ssltestlib.c +++ test/ssltestlib.c @@ -16,6 +16,14 @@ #ifdef OPENSSL_SYS_UNIX # include +#ifndef OPENSSL_NO_KTLS +# include +# include +# include +# include +# include +# include +#endif static ossl_inline void ossl_sleep(unsigned int millis) { @@ -763,6 +771,114 @@ int create_ssl_ctx_pair(const SSL_METHOD *sm, const SSL_METHOD *cm, #define MAXLOOPS 1000000 +#if !defined(OPENSSL_NO_KTLS) && !defined(OPENSSL_NO_SOCK) +static int set_nb(int fd) +{ + int flags; + + flags = fcntl(fd,F_GETFL,0); + if (flags == -1) + return flags; + flags = fcntl(fd, F_SETFL, flags | O_NONBLOCK); + return flags; +} + +int create_test_sockets(int *cfd, int *sfd) +{ + struct sockaddr_in sin; + const char *host = "127.0.0.1"; + int cfd_connected = 0, ret = 0; + socklen_t slen = sizeof(sin); + int afd = -1; + + *cfd = -1; + *sfd = -1; + + memset ((char *) &sin, 0, sizeof(sin)); + sin.sin_family = AF_INET; + sin.sin_addr.s_addr = inet_addr(host); + + afd = socket(AF_INET, SOCK_STREAM, 0); + if (afd < 0) + return 0; + + if (bind(afd, (struct sockaddr*)&sin, sizeof(sin)) < 0) + goto out; + + if (getsockname(afd, (struct sockaddr*)&sin, &slen) < 0) + goto out; + + if (listen(afd, 1) < 0) + goto out; + + *cfd = socket(AF_INET, SOCK_STREAM, 0); + if (*cfd < 0) + goto out; + + if (set_nb(afd) == -1) + goto out; + + while (*sfd == -1 || !cfd_connected ) { + *sfd = accept(afd, NULL, 0); + if (*sfd == -1 && errno != EAGAIN) + goto out; + + if (!cfd_connected && connect(*cfd, (struct sockaddr*)&sin, sizeof(sin)) < 0) + goto out; + else + cfd_connected = 1; + } + + if (set_nb(*cfd) == -1 || set_nb(*sfd) == -1) + goto out; + ret = 1; + goto success; + +out: + if (*cfd != -1) + close(*cfd); + if (*sfd != -1) + close(*sfd); +success: + if (afd != -1) + close(afd); + return ret; +} + +int create_ssl_objects2(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL **sssl, + SSL **cssl, int sfd, int cfd) +{ + SSL *serverssl = NULL, *clientssl = NULL; + BIO *s_to_c_bio = NULL, *c_to_s_bio = NULL; + + if (*sssl != NULL) + serverssl = *sssl; + else if (!TEST_ptr(serverssl = SSL_new(serverctx))) + goto error; + if (*cssl != NULL) + clientssl = *cssl; + else if (!TEST_ptr(clientssl = SSL_new(clientctx))) + goto error; + + if (!TEST_ptr(s_to_c_bio = BIO_new_socket(sfd, BIO_NOCLOSE)) + || !TEST_ptr(c_to_s_bio = BIO_new_socket(cfd, BIO_NOCLOSE))) + goto error; + + SSL_set_bio(clientssl, c_to_s_bio, c_to_s_bio); + SSL_set_bio(serverssl, s_to_c_bio, s_to_c_bio); + *sssl = serverssl; + *cssl = clientssl; + return 1; + + error: + SSL_free(serverssl); + SSL_free(clientssl); + BIO_free(s_to_c_bio); + BIO_free(c_to_s_bio); + return 0; +} +#endif + /* * NOTE: Transfers control of the BIOs - this function will free them on error */ diff --git test/ssltestlib.h test/ssltestlib.h index 17b278219a..756975435d 100644 --- test/ssltestlib.h +++ test/ssltestlib.h @@ -20,6 +20,9 @@ int create_ssl_objects(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL **sssl, SSL **cssl, BIO *s_to_c_fbio, BIO *c_to_s_fbio); int create_bare_ssl_connection(SSL *serverssl, SSL *clientssl, int want, int read); +int create_ssl_objects2(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL **sssl, + SSL **cssl, int sfd, int cfd); +int create_test_sockets(int *cfd, int *sfd); int create_ssl_connection(SSL *serverssl, SSL *clientssl, int want); void shutdown_ssl_connection(SSL *serverssl, SSL *clientssl); diff --git util/libssl.num util/libssl.num index 297522c363..5b3c048871 100644 --- util/libssl.num +++ util/libssl.num @@ -498,3 +498,4 @@ SSL_CTX_get_recv_max_early_data 498 1_1_1 EXIST::FUNCTION: SSL_CTX_set_recv_max_early_data 499 1_1_1 EXIST::FUNCTION: SSL_CTX_set_post_handshake_auth 500 1_1_1 EXIST::FUNCTION: SSL_get_signature_type_nid 501 1_1_1a EXIST::FUNCTION: +SSL_sendfile 502 1_1_1e EXIST::FUNCTION: diff --git util/private.num util/private.num index bc7d967b5d..5bfbfc9fa4 100644 --- util/private.num +++ util/private.num @@ -109,6 +109,8 @@ BIO_get_buffer_num_lines define BIO_get_cipher_ctx define BIO_get_cipher_status define BIO_get_close define +BIO_get_ktls_send define +BIO_get_ktls_recv define BIO_get_conn_address define BIO_get_conn_hostname define BIO_get_conn_port define diff --git a/security/openssl/pkg-plist b/security/openssl/pkg-plist index c442ee16969d..dd4e70280d25 100644 --- a/security/openssl/pkg-plist +++ b/security/openssl/pkg-plist @@ -1,4097 +1,4098 @@ bin/c_rehash bin/openssl include/openssl/aes.h include/openssl/asn1.h include/openssl/asn1_mac.h include/openssl/asn1err.h include/openssl/asn1t.h include/openssl/async.h include/openssl/asyncerr.h include/openssl/bio.h include/openssl/bioerr.h include/openssl/blowfish.h include/openssl/bn.h include/openssl/bnerr.h include/openssl/buffer.h include/openssl/buffererr.h include/openssl/camellia.h include/openssl/cast.h include/openssl/cmac.h include/openssl/cms.h include/openssl/cmserr.h include/openssl/comp.h include/openssl/comperr.h include/openssl/conf.h include/openssl/conf_api.h include/openssl/conferr.h include/openssl/crypto.h include/openssl/cryptoerr.h include/openssl/ct.h include/openssl/cterr.h include/openssl/des.h include/openssl/dh.h include/openssl/dherr.h include/openssl/dsa.h include/openssl/dsaerr.h include/openssl/dtls1.h include/openssl/e_os2.h include/openssl/ebcdic.h include/openssl/ec.h include/openssl/ecdh.h include/openssl/ecdsa.h include/openssl/ecerr.h include/openssl/engine.h include/openssl/engineerr.h include/openssl/err.h include/openssl/evp.h include/openssl/evperr.h include/openssl/hmac.h include/openssl/idea.h include/openssl/kdf.h include/openssl/kdferr.h include/openssl/lhash.h include/openssl/md2.h include/openssl/md4.h include/openssl/md5.h include/openssl/mdc2.h include/openssl/modes.h include/openssl/obj_mac.h include/openssl/objects.h include/openssl/objectserr.h include/openssl/ocsp.h include/openssl/ocsperr.h include/openssl/opensslconf.h include/openssl/opensslv.h include/openssl/ossl_typ.h include/openssl/pem.h include/openssl/pem2.h include/openssl/pemerr.h include/openssl/pkcs12.h include/openssl/pkcs12err.h include/openssl/pkcs7.h include/openssl/pkcs7err.h include/openssl/rand.h include/openssl/rand_drbg.h include/openssl/randerr.h include/openssl/rc2.h include/openssl/rc4.h include/openssl/rc5.h include/openssl/ripemd.h include/openssl/rsa.h include/openssl/rsaerr.h include/openssl/safestack.h include/openssl/seed.h include/openssl/sha.h include/openssl/srp.h include/openssl/srtp.h include/openssl/ssl.h include/openssl/ssl2.h include/openssl/ssl3.h include/openssl/sslerr.h include/openssl/stack.h include/openssl/store.h include/openssl/storeerr.h include/openssl/symhacks.h include/openssl/tls1.h include/openssl/ts.h include/openssl/tserr.h include/openssl/txt_db.h include/openssl/ui.h include/openssl/uierr.h include/openssl/whrlpool.h include/openssl/x509.h include/openssl/x509_vfy.h include/openssl/x509err.h include/openssl/x509v3.h include/openssl/x509v3err.h %%SHARED%%lib/engines-1.1/capi.so %%SHARED%%lib/engines-1.1/padlock.so lib/libcrypto.a %%SHARED%%lib/libcrypto.so %%SHARED%%lib/libcrypto.so.%%SHLIBVER%% lib/libssl.a %%SHARED%%lib/libssl.so %%SHARED%%lib/libssl.so.%%SHLIBVER%% libdata/pkgconfig/libcrypto.pc libdata/pkgconfig/libssl.pc libdata/pkgconfig/openssl.pc man/man1/CA.pl.1.gz man/man1/asn1parse.1.gz man/man1/c_rehash.1.gz man/man1/ca.1.gz man/man1/ciphers.1.gz man/man1/cms.1.gz man/man1/crl.1.gz man/man1/crl2pkcs7.1.gz man/man1/dgst.1.gz man/man1/dhparam.1.gz man/man1/dsa.1.gz man/man1/dsaparam.1.gz man/man1/ec.1.gz man/man1/ecparam.1.gz man/man1/enc.1.gz man/man1/engine.1.gz man/man1/errstr.1.gz man/man1/gendsa.1.gz man/man1/genpkey.1.gz man/man1/genrsa.1.gz man/man1/list.1.gz man/man1/nseq.1.gz man/man1/ocsp.1.gz man/man1/openssl-asn1parse.1.gz man/man1/openssl-c_rehash.1.gz man/man1/openssl-ca.1.gz man/man1/openssl-ciphers.1.gz man/man1/openssl-cms.1.gz man/man1/openssl-crl.1.gz man/man1/openssl-crl2pkcs7.1.gz man/man1/openssl-dgst.1.gz man/man1/openssl-dhparam.1.gz man/man1/openssl-dsa.1.gz man/man1/openssl-dsaparam.1.gz man/man1/openssl-ec.1.gz man/man1/openssl-ecparam.1.gz man/man1/openssl-enc.1.gz man/man1/openssl-engine.1.gz man/man1/openssl-errstr.1.gz man/man1/openssl-gendsa.1.gz man/man1/openssl-genpkey.1.gz man/man1/openssl-genrsa.1.gz man/man1/openssl-list.1.gz man/man1/openssl-nseq.1.gz man/man1/openssl-ocsp.1.gz man/man1/openssl-passwd.1.gz man/man1/openssl-pkcs12.1.gz man/man1/openssl-pkcs7.1.gz man/man1/openssl-pkcs8.1.gz man/man1/openssl-pkey.1.gz man/man1/openssl-pkeyparam.1.gz man/man1/openssl-pkeyutl.1.gz man/man1/openssl-prime.1.gz man/man1/openssl-rand.1.gz man/man1/openssl-rehash.1.gz man/man1/openssl-req.1.gz man/man1/openssl-rsa.1.gz man/man1/openssl-rsautl.1.gz man/man1/openssl-s_client.1.gz man/man1/openssl-s_server.1.gz man/man1/openssl-s_time.1.gz man/man1/openssl-sess_id.1.gz man/man1/openssl-smime.1.gz man/man1/openssl-speed.1.gz man/man1/openssl-spkac.1.gz man/man1/openssl-srp.1.gz man/man1/openssl-storeutl.1.gz man/man1/openssl-ts.1.gz man/man1/openssl-tsget.1.gz man/man1/openssl-verify.1.gz man/man1/openssl-version.1.gz man/man1/openssl-x509.1.gz man/man1/openssl.1.gz man/man1/passwd.1.gz man/man1/pkcs12.1.gz man/man1/pkcs7.1.gz man/man1/pkcs8.1.gz man/man1/pkey.1.gz man/man1/pkeyparam.1.gz man/man1/pkeyutl.1.gz man/man1/prime.1.gz man/man1/rand.1.gz man/man1/rehash.1.gz man/man1/req.1.gz man/man1/rsa.1.gz man/man1/rsautl.1.gz man/man1/s_client.1.gz man/man1/s_server.1.gz man/man1/s_time.1.gz man/man1/sess_id.1.gz man/man1/smime.1.gz man/man1/speed.1.gz man/man1/spkac.1.gz man/man1/srp.1.gz man/man1/storeutl.1.gz man/man1/ts.1.gz man/man1/tsget.1.gz man/man1/verify.1.gz man/man1/version.1.gz man/man1/x509.1.gz %%MAN3%%man/man3/ACCESS_DESCRIPTION_free.3.gz %%MAN3%%man/man3/ACCESS_DESCRIPTION_new.3.gz %%MAN3%%man/man3/ADMISSIONS.3.gz %%MAN3%%man/man3/ADMISSIONS_free.3.gz %%MAN3%%man/man3/ADMISSIONS_get0_admissionAuthority.3.gz %%MAN3%%man/man3/ADMISSIONS_get0_namingAuthority.3.gz %%MAN3%%man/man3/ADMISSIONS_get0_professionInfos.3.gz %%MAN3%%man/man3/ADMISSIONS_new.3.gz %%MAN3%%man/man3/ADMISSIONS_set0_admissionAuthority.3.gz %%MAN3%%man/man3/ADMISSIONS_set0_namingAuthority.3.gz %%MAN3%%man/man3/ADMISSIONS_set0_professionInfos.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX_free.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX_get0_admissionAuthority.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX_new.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX_set0_admissionAuthority.3.gz %%MAN3%%man/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.3.gz %%MAN3%%man/man3/ASIdOrRange_free.3.gz %%MAN3%%man/man3/ASIdOrRange_new.3.gz %%MAN3%%man/man3/ASIdentifierChoice_free.3.gz %%MAN3%%man/man3/ASIdentifierChoice_new.3.gz %%MAN3%%man/man3/ASIdentifiers_free.3.gz %%MAN3%%man/man3/ASIdentifiers_new.3.gz %%MAN3%%man/man3/ASN1_ENUMERATED_get.3.gz %%MAN3%%man/man3/ASN1_ENUMERATED_get_int64.3.gz %%MAN3%%man/man3/ASN1_ENUMERATED_set.3.gz %%MAN3%%man/man3/ASN1_ENUMERATED_set_int64.3.gz %%MAN3%%man/man3/ASN1_ENUMERATED_to_BN.3.gz %%MAN3%%man/man3/ASN1_GENERALIZEDTIME_adj.3.gz %%MAN3%%man/man3/ASN1_GENERALIZEDTIME_check.3.gz %%MAN3%%man/man3/ASN1_GENERALIZEDTIME_print.3.gz %%MAN3%%man/man3/ASN1_GENERALIZEDTIME_set.3.gz %%MAN3%%man/man3/ASN1_GENERALIZEDTIME_set_string.3.gz %%MAN3%%man/man3/ASN1_INTEGER_get.3.gz %%MAN3%%man/man3/ASN1_INTEGER_get_int64.3.gz %%MAN3%%man/man3/ASN1_INTEGER_get_uint64.3.gz %%MAN3%%man/man3/ASN1_INTEGER_set.3.gz %%MAN3%%man/man3/ASN1_INTEGER_set_int64.3.gz %%MAN3%%man/man3/ASN1_INTEGER_set_uint64.3.gz %%MAN3%%man/man3/ASN1_INTEGER_to_BN.3.gz %%MAN3%%man/man3/ASN1_ITEM.3.gz %%MAN3%%man/man3/ASN1_ITEM_get.3.gz %%MAN3%%man/man3/ASN1_ITEM_lookup.3.gz %%MAN3%%man/man3/ASN1_OBJECT_free.3.gz %%MAN3%%man/man3/ASN1_OBJECT_new.3.gz %%MAN3%%man/man3/ASN1_STRING_TABLE.3.gz %%MAN3%%man/man3/ASN1_STRING_TABLE_add.3.gz %%MAN3%%man/man3/ASN1_STRING_TABLE_cleanup.3.gz %%MAN3%%man/man3/ASN1_STRING_TABLE_get.3.gz %%MAN3%%man/man3/ASN1_STRING_cmp.3.gz %%MAN3%%man/man3/ASN1_STRING_data.3.gz %%MAN3%%man/man3/ASN1_STRING_dup.3.gz %%MAN3%%man/man3/ASN1_STRING_free.3.gz %%MAN3%%man/man3/ASN1_STRING_get0_data.3.gz %%MAN3%%man/man3/ASN1_STRING_length.3.gz %%MAN3%%man/man3/ASN1_STRING_new.3.gz %%MAN3%%man/man3/ASN1_STRING_print.3.gz %%MAN3%%man/man3/ASN1_STRING_print_ex.3.gz %%MAN3%%man/man3/ASN1_STRING_print_ex_fp.3.gz %%MAN3%%man/man3/ASN1_STRING_set.3.gz %%MAN3%%man/man3/ASN1_STRING_to_UTF8.3.gz %%MAN3%%man/man3/ASN1_STRING_type.3.gz %%MAN3%%man/man3/ASN1_STRING_type_new.3.gz %%MAN3%%man/man3/ASN1_TIME_adj.3.gz %%MAN3%%man/man3/ASN1_TIME_check.3.gz %%MAN3%%man/man3/ASN1_TIME_cmp_time_t.3.gz %%MAN3%%man/man3/ASN1_TIME_compare.3.gz %%MAN3%%man/man3/ASN1_TIME_diff.3.gz %%MAN3%%man/man3/ASN1_TIME_normalize.3.gz %%MAN3%%man/man3/ASN1_TIME_print.3.gz %%MAN3%%man/man3/ASN1_TIME_set.3.gz %%MAN3%%man/man3/ASN1_TIME_set_string.3.gz %%MAN3%%man/man3/ASN1_TIME_set_string_X509.3.gz %%MAN3%%man/man3/ASN1_TIME_to_generalizedtime.3.gz %%MAN3%%man/man3/ASN1_TIME_to_tm.3.gz %%MAN3%%man/man3/ASN1_TYPE_cmp.3.gz %%MAN3%%man/man3/ASN1_TYPE_get.3.gz %%MAN3%%man/man3/ASN1_TYPE_pack_sequence.3.gz %%MAN3%%man/man3/ASN1_TYPE_set.3.gz %%MAN3%%man/man3/ASN1_TYPE_set1.3.gz %%MAN3%%man/man3/ASN1_TYPE_unpack_sequence.3.gz %%MAN3%%man/man3/ASN1_UTCTIME_adj.3.gz %%MAN3%%man/man3/ASN1_UTCTIME_check.3.gz %%MAN3%%man/man3/ASN1_UTCTIME_cmp_time_t.3.gz %%MAN3%%man/man3/ASN1_UTCTIME_print.3.gz %%MAN3%%man/man3/ASN1_UTCTIME_set.3.gz %%MAN3%%man/man3/ASN1_UTCTIME_set_string.3.gz %%MAN3%%man/man3/ASN1_add_oid_module.3.gz %%MAN3%%man/man3/ASN1_generate_nconf.3.gz %%MAN3%%man/man3/ASN1_generate_v3.3.gz %%MAN3%%man/man3/ASN1_tag2str.3.gz %%MAN3%%man/man3/ASRange_free.3.gz %%MAN3%%man/man3/ASRange_new.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_clear_fd.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_free.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_get_all_fds.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_get_changed_fds.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_get_fd.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_new.3.gz %%MAN3%%man/man3/ASYNC_WAIT_CTX_set_wait_fd.3.gz %%MAN3%%man/man3/ASYNC_block_pause.3.gz %%MAN3%%man/man3/ASYNC_cleanup_thread.3.gz %%MAN3%%man/man3/ASYNC_get_current_job.3.gz %%MAN3%%man/man3/ASYNC_get_wait_ctx.3.gz %%MAN3%%man/man3/ASYNC_init_thread.3.gz %%MAN3%%man/man3/ASYNC_is_capable.3.gz %%MAN3%%man/man3/ASYNC_pause_job.3.gz %%MAN3%%man/man3/ASYNC_start_job.3.gz %%MAN3%%man/man3/ASYNC_unblock_pause.3.gz %%MAN3%%man/man3/AUTHORITY_INFO_ACCESS_free.3.gz %%MAN3%%man/man3/AUTHORITY_INFO_ACCESS_new.3.gz %%MAN3%%man/man3/AUTHORITY_KEYID_free.3.gz %%MAN3%%man/man3/AUTHORITY_KEYID_new.3.gz %%MAN3%%man/man3/BASIC_CONSTRAINTS_free.3.gz %%MAN3%%man/man3/BASIC_CONSTRAINTS_new.3.gz %%MAN3%%man/man3/BF_cbc_encrypt.3.gz %%MAN3%%man/man3/BF_cfb64_encrypt.3.gz %%MAN3%%man/man3/BF_decrypt.3.gz %%MAN3%%man/man3/BF_ecb_encrypt.3.gz %%MAN3%%man/man3/BF_encrypt.3.gz %%MAN3%%man/man3/BF_ofb64_encrypt.3.gz %%MAN3%%man/man3/BF_options.3.gz %%MAN3%%man/man3/BF_set_key.3.gz %%MAN3%%man/man3/BIO_ADDR.3.gz %%MAN3%%man/man3/BIO_ADDRINFO.3.gz %%MAN3%%man/man3/BIO_ADDRINFO_address.3.gz %%MAN3%%man/man3/BIO_ADDRINFO_family.3.gz %%MAN3%%man/man3/BIO_ADDRINFO_free.3.gz %%MAN3%%man/man3/BIO_ADDRINFO_next.3.gz %%MAN3%%man/man3/BIO_ADDRINFO_protocol.3.gz %%MAN3%%man/man3/BIO_ADDRINFO_socktype.3.gz %%MAN3%%man/man3/BIO_ADDR_clear.3.gz %%MAN3%%man/man3/BIO_ADDR_family.3.gz %%MAN3%%man/man3/BIO_ADDR_free.3.gz %%MAN3%%man/man3/BIO_ADDR_hostname_string.3.gz %%MAN3%%man/man3/BIO_ADDR_new.3.gz %%MAN3%%man/man3/BIO_ADDR_path_string.3.gz %%MAN3%%man/man3/BIO_ADDR_rawaddress.3.gz %%MAN3%%man/man3/BIO_ADDR_rawmake.3.gz %%MAN3%%man/man3/BIO_ADDR_rawport.3.gz %%MAN3%%man/man3/BIO_ADDR_service_string.3.gz %%MAN3%%man/man3/BIO_accept_ex.3.gz %%MAN3%%man/man3/BIO_append_filename.3.gz %%MAN3%%man/man3/BIO_bind.3.gz %%MAN3%%man/man3/BIO_callback_ctrl.3.gz %%MAN3%%man/man3/BIO_callback_fn.3.gz %%MAN3%%man/man3/BIO_callback_fn_ex.3.gz %%MAN3%%man/man3/BIO_closesocket.3.gz %%MAN3%%man/man3/BIO_connect.3.gz %%MAN3%%man/man3/BIO_ctrl.3.gz %%MAN3%%man/man3/BIO_ctrl_get_read_request.3.gz %%MAN3%%man/man3/BIO_ctrl_get_write_guarantee.3.gz %%MAN3%%man/man3/BIO_ctrl_pending.3.gz %%MAN3%%man/man3/BIO_ctrl_reset_read_request.3.gz %%MAN3%%man/man3/BIO_ctrl_wpending.3.gz %%MAN3%%man/man3/BIO_debug_callback.3.gz %%MAN3%%man/man3/BIO_destroy_bio_pair.3.gz %%MAN3%%man/man3/BIO_do_accept.3.gz %%MAN3%%man/man3/BIO_do_connect.3.gz %%MAN3%%man/man3/BIO_do_handshake.3.gz %%MAN3%%man/man3/BIO_eof.3.gz %%MAN3%%man/man3/BIO_f_base64.3.gz %%MAN3%%man/man3/BIO_f_buffer.3.gz %%MAN3%%man/man3/BIO_f_cipher.3.gz %%MAN3%%man/man3/BIO_f_md.3.gz %%MAN3%%man/man3/BIO_f_null.3.gz %%MAN3%%man/man3/BIO_f_ssl.3.gz %%MAN3%%man/man3/BIO_find_type.3.gz %%MAN3%%man/man3/BIO_flush.3.gz %%MAN3%%man/man3/BIO_free.3.gz %%MAN3%%man/man3/BIO_free_all.3.gz %%MAN3%%man/man3/BIO_get_accept_ip_family.3.gz %%MAN3%%man/man3/BIO_get_accept_name.3.gz %%MAN3%%man/man3/BIO_get_accept_port.3.gz %%MAN3%%man/man3/BIO_get_bind_mode.3.gz %%MAN3%%man/man3/BIO_get_buffer_num_lines.3.gz %%MAN3%%man/man3/BIO_get_callback.3.gz %%MAN3%%man/man3/BIO_get_callback_arg.3.gz %%MAN3%%man/man3/BIO_get_callback_ex.3.gz %%MAN3%%man/man3/BIO_get_cipher_ctx.3.gz %%MAN3%%man/man3/BIO_get_cipher_status.3.gz %%MAN3%%man/man3/BIO_get_close.3.gz %%MAN3%%man/man3/BIO_get_conn_address.3.gz %%MAN3%%man/man3/BIO_get_conn_hostname.3.gz %%MAN3%%man/man3/BIO_get_conn_ip_family.3.gz %%MAN3%%man/man3/BIO_get_conn_port.3.gz %%MAN3%%man/man3/BIO_get_data.3.gz %%MAN3%%man/man3/BIO_get_ex_data.3.gz %%MAN3%%man/man3/BIO_get_ex_new_index.3.gz %%MAN3%%man/man3/BIO_get_fd.3.gz %%MAN3%%man/man3/BIO_get_fp.3.gz %%MAN3%%man/man3/BIO_get_info_callback.3.gz %%MAN3%%man/man3/BIO_get_init.3.gz %%KTLS%%%%MAN3%%man/man3/BIO_get_ktls_recv.3.gz %%KTLS%%%%MAN3%%man/man3/BIO_get_ktls_send.3.gz %%MAN3%%man/man3/BIO_get_md.3.gz %%MAN3%%man/man3/BIO_get_md_ctx.3.gz %%MAN3%%man/man3/BIO_get_mem_data.3.gz %%MAN3%%man/man3/BIO_get_mem_ptr.3.gz %%MAN3%%man/man3/BIO_get_new_index.3.gz %%MAN3%%man/man3/BIO_get_num_renegotiates.3.gz %%MAN3%%man/man3/BIO_get_peer_name.3.gz %%MAN3%%man/man3/BIO_get_peer_port.3.gz %%MAN3%%man/man3/BIO_get_read_request.3.gz %%MAN3%%man/man3/BIO_get_retry_BIO.3.gz %%MAN3%%man/man3/BIO_get_retry_reason.3.gz %%MAN3%%man/man3/BIO_get_shutdown.3.gz %%MAN3%%man/man3/BIO_get_ssl.3.gz %%MAN3%%man/man3/BIO_get_write_buf_size.3.gz %%MAN3%%man/man3/BIO_get_write_guarantee.3.gz %%MAN3%%man/man3/BIO_gets.3.gz %%MAN3%%man/man3/BIO_hostserv_priorities.3.gz %%MAN3%%man/man3/BIO_info_cb.3.gz %%MAN3%%man/man3/BIO_int_ctrl.3.gz %%MAN3%%man/man3/BIO_listen.3.gz %%MAN3%%man/man3/BIO_lookup.3.gz %%MAN3%%man/man3/BIO_lookup_ex.3.gz %%MAN3%%man/man3/BIO_lookup_type.3.gz %%MAN3%%man/man3/BIO_make_bio_pair.3.gz %%MAN3%%man/man3/BIO_meth_free.3.gz %%MAN3%%man/man3/BIO_meth_get_callback_ctrl.3.gz %%MAN3%%man/man3/BIO_meth_get_create.3.gz %%MAN3%%man/man3/BIO_meth_get_ctrl.3.gz %%MAN3%%man/man3/BIO_meth_get_destroy.3.gz %%MAN3%%man/man3/BIO_meth_get_gets.3.gz %%MAN3%%man/man3/BIO_meth_get_puts.3.gz %%MAN3%%man/man3/BIO_meth_get_read.3.gz %%MAN3%%man/man3/BIO_meth_get_read_ex.3.gz %%MAN3%%man/man3/BIO_meth_get_write.3.gz %%MAN3%%man/man3/BIO_meth_get_write_ex.3.gz %%MAN3%%man/man3/BIO_meth_new.3.gz %%MAN3%%man/man3/BIO_meth_set_callback_ctrl.3.gz %%MAN3%%man/man3/BIO_meth_set_create.3.gz %%MAN3%%man/man3/BIO_meth_set_ctrl.3.gz %%MAN3%%man/man3/BIO_meth_set_destroy.3.gz %%MAN3%%man/man3/BIO_meth_set_gets.3.gz %%MAN3%%man/man3/BIO_meth_set_puts.3.gz %%MAN3%%man/man3/BIO_meth_set_read.3.gz %%MAN3%%man/man3/BIO_meth_set_read_ex.3.gz %%MAN3%%man/man3/BIO_meth_set_write.3.gz %%MAN3%%man/man3/BIO_meth_set_write_ex.3.gz %%MAN3%%man/man3/BIO_method_type.3.gz %%MAN3%%man/man3/BIO_new.3.gz %%MAN3%%man/man3/BIO_new_CMS.3.gz %%MAN3%%man/man3/BIO_new_accept.3.gz %%MAN3%%man/man3/BIO_new_bio_pair.3.gz %%MAN3%%man/man3/BIO_new_buffer_ssl_connect.3.gz %%MAN3%%man/man3/BIO_new_connect.3.gz %%MAN3%%man/man3/BIO_new_fd.3.gz %%MAN3%%man/man3/BIO_new_file.3.gz %%MAN3%%man/man3/BIO_new_fp.3.gz %%MAN3%%man/man3/BIO_new_mem_buf.3.gz %%MAN3%%man/man3/BIO_new_socket.3.gz %%MAN3%%man/man3/BIO_new_ssl.3.gz %%MAN3%%man/man3/BIO_new_ssl_connect.3.gz %%MAN3%%man/man3/BIO_next.3.gz %%MAN3%%man/man3/BIO_parse_hostserv.3.gz %%MAN3%%man/man3/BIO_pending.3.gz %%MAN3%%man/man3/BIO_pop.3.gz %%MAN3%%man/man3/BIO_printf.3.gz %%MAN3%%man/man3/BIO_ptr_ctrl.3.gz %%MAN3%%man/man3/BIO_push.3.gz %%MAN3%%man/man3/BIO_puts.3.gz %%MAN3%%man/man3/BIO_read.3.gz %%MAN3%%man/man3/BIO_read_ex.3.gz %%MAN3%%man/man3/BIO_read_filename.3.gz %%MAN3%%man/man3/BIO_reset.3.gz %%MAN3%%man/man3/BIO_retry_type.3.gz %%MAN3%%man/man3/BIO_rw_filename.3.gz %%MAN3%%man/man3/BIO_s_accept.3.gz %%MAN3%%man/man3/BIO_s_bio.3.gz %%MAN3%%man/man3/BIO_s_connect.3.gz %%MAN3%%man/man3/BIO_s_fd.3.gz %%MAN3%%man/man3/BIO_s_file.3.gz %%MAN3%%man/man3/BIO_s_mem.3.gz %%MAN3%%man/man3/BIO_s_null.3.gz %%MAN3%%man/man3/BIO_s_secmem.3.gz %%MAN3%%man/man3/BIO_s_socket.3.gz %%MAN3%%man/man3/BIO_seek.3.gz %%MAN3%%man/man3/BIO_set_accept_bios.3.gz %%MAN3%%man/man3/BIO_set_accept_ip_family.3.gz %%MAN3%%man/man3/BIO_set_accept_name.3.gz %%MAN3%%man/man3/BIO_set_accept_port.3.gz %%MAN3%%man/man3/BIO_set_bind_mode.3.gz %%MAN3%%man/man3/BIO_set_buffer_read_data.3.gz %%MAN3%%man/man3/BIO_set_buffer_size.3.gz %%MAN3%%man/man3/BIO_set_callback.3.gz %%MAN3%%man/man3/BIO_set_callback_arg.3.gz %%MAN3%%man/man3/BIO_set_callback_ex.3.gz %%MAN3%%man/man3/BIO_set_cipher.3.gz %%MAN3%%man/man3/BIO_set_close.3.gz %%MAN3%%man/man3/BIO_set_conn_address.3.gz %%MAN3%%man/man3/BIO_set_conn_hostname.3.gz %%MAN3%%man/man3/BIO_set_conn_ip_family.3.gz %%MAN3%%man/man3/BIO_set_conn_port.3.gz %%MAN3%%man/man3/BIO_set_data.3.gz %%MAN3%%man/man3/BIO_set_ex_data.3.gz %%MAN3%%man/man3/BIO_set_fd.3.gz %%MAN3%%man/man3/BIO_set_fp.3.gz %%MAN3%%man/man3/BIO_set_info_callback.3.gz %%MAN3%%man/man3/BIO_set_init.3.gz %%MAN3%%man/man3/BIO_set_md.3.gz %%MAN3%%man/man3/BIO_set_mem_buf.3.gz %%MAN3%%man/man3/BIO_set_mem_eof_return.3.gz %%MAN3%%man/man3/BIO_set_nbio.3.gz %%MAN3%%man/man3/BIO_set_nbio_accept.3.gz %%MAN3%%man/man3/BIO_set_next.3.gz %%MAN3%%man/man3/BIO_set_read_buffer_size.3.gz %%MAN3%%man/man3/BIO_set_retry_reason.3.gz %%MAN3%%man/man3/BIO_set_shutdown.3.gz %%MAN3%%man/man3/BIO_set_ssl.3.gz %%MAN3%%man/man3/BIO_set_ssl_mode.3.gz %%MAN3%%man/man3/BIO_set_ssl_renegotiate_bytes.3.gz %%MAN3%%man/man3/BIO_set_ssl_renegotiate_timeout.3.gz %%MAN3%%man/man3/BIO_set_write_buf_size.3.gz %%MAN3%%man/man3/BIO_set_write_buffer_size.3.gz %%MAN3%%man/man3/BIO_should_io_special.3.gz %%MAN3%%man/man3/BIO_should_read.3.gz %%MAN3%%man/man3/BIO_should_retry.3.gz %%MAN3%%man/man3/BIO_should_write.3.gz %%MAN3%%man/man3/BIO_shutdown_wr.3.gz %%MAN3%%man/man3/BIO_snprintf.3.gz %%MAN3%%man/man3/BIO_socket.3.gz %%MAN3%%man/man3/BIO_ssl_copy_session_id.3.gz %%MAN3%%man/man3/BIO_ssl_shutdown.3.gz %%MAN3%%man/man3/BIO_tell.3.gz %%MAN3%%man/man3/BIO_up_ref.3.gz %%MAN3%%man/man3/BIO_vfree.3.gz %%MAN3%%man/man3/BIO_vprintf.3.gz %%MAN3%%man/man3/BIO_vsnprintf.3.gz %%MAN3%%man/man3/BIO_wpending.3.gz %%MAN3%%man/man3/BIO_write.3.gz %%MAN3%%man/man3/BIO_write_ex.3.gz %%MAN3%%man/man3/BIO_write_filename.3.gz %%MAN3%%man/man3/BN_BLINDING_convert.3.gz %%MAN3%%man/man3/BN_BLINDING_convert_ex.3.gz %%MAN3%%man/man3/BN_BLINDING_create_param.3.gz %%MAN3%%man/man3/BN_BLINDING_free.3.gz %%MAN3%%man/man3/BN_BLINDING_get_flags.3.gz %%MAN3%%man/man3/BN_BLINDING_invert.3.gz %%MAN3%%man/man3/BN_BLINDING_invert_ex.3.gz %%MAN3%%man/man3/BN_BLINDING_is_current_thread.3.gz %%MAN3%%man/man3/BN_BLINDING_lock.3.gz %%MAN3%%man/man3/BN_BLINDING_new.3.gz %%MAN3%%man/man3/BN_BLINDING_set_current_thread.3.gz %%MAN3%%man/man3/BN_BLINDING_set_flags.3.gz %%MAN3%%man/man3/BN_BLINDING_unlock.3.gz %%MAN3%%man/man3/BN_BLINDING_update.3.gz %%MAN3%%man/man3/BN_CTX_end.3.gz %%MAN3%%man/man3/BN_CTX_free.3.gz %%MAN3%%man/man3/BN_CTX_get.3.gz %%MAN3%%man/man3/BN_CTX_new.3.gz %%MAN3%%man/man3/BN_CTX_secure_new.3.gz %%MAN3%%man/man3/BN_CTX_start.3.gz %%MAN3%%man/man3/BN_GENCB_call.3.gz %%MAN3%%man/man3/BN_GENCB_free.3.gz %%MAN3%%man/man3/BN_GENCB_get_arg.3.gz %%MAN3%%man/man3/BN_GENCB_new.3.gz %%MAN3%%man/man3/BN_GENCB_set.3.gz %%MAN3%%man/man3/BN_GENCB_set_old.3.gz %%MAN3%%man/man3/BN_MONT_CTX_copy.3.gz %%MAN3%%man/man3/BN_MONT_CTX_free.3.gz %%MAN3%%man/man3/BN_MONT_CTX_new.3.gz %%MAN3%%man/man3/BN_MONT_CTX_set.3.gz %%MAN3%%man/man3/BN_RECP_CTX_free.3.gz %%MAN3%%man/man3/BN_RECP_CTX_new.3.gz %%MAN3%%man/man3/BN_RECP_CTX_set.3.gz +%%MAN3%%man/man3/BN_abs_is_word.3.gz %%MAN3%%man/man3/BN_add.3.gz %%MAN3%%man/man3/BN_add_word.3.gz %%MAN3%%man/man3/BN_bin2bn.3.gz %%MAN3%%man/man3/BN_bn2bin.3.gz %%MAN3%%man/man3/BN_bn2binpad.3.gz %%MAN3%%man/man3/BN_bn2dec.3.gz %%MAN3%%man/man3/BN_bn2hex.3.gz %%MAN3%%man/man3/BN_bn2lebinpad.3.gz %%MAN3%%man/man3/BN_bn2mpi.3.gz %%MAN3%%man/man3/BN_clear.3.gz %%MAN3%%man/man3/BN_clear_bit.3.gz %%MAN3%%man/man3/BN_clear_free.3.gz %%MAN3%%man/man3/BN_cmp.3.gz %%MAN3%%man/man3/BN_copy.3.gz %%MAN3%%man/man3/BN_dec2bn.3.gz %%MAN3%%man/man3/BN_div.3.gz %%MAN3%%man/man3/BN_div_recp.3.gz %%MAN3%%man/man3/BN_div_word.3.gz %%MAN3%%man/man3/BN_dup.3.gz %%MAN3%%man/man3/BN_exp.3.gz %%MAN3%%man/man3/BN_free.3.gz %%MAN3%%man/man3/BN_from_montgomery.3.gz %%MAN3%%man/man3/BN_gcd.3.gz %%MAN3%%man/man3/BN_generate_prime.3.gz %%MAN3%%man/man3/BN_generate_prime_ex.3.gz %%MAN3%%man/man3/BN_get0_nist_prime_192.3.gz %%MAN3%%man/man3/BN_get0_nist_prime_224.3.gz %%MAN3%%man/man3/BN_get0_nist_prime_256.3.gz %%MAN3%%man/man3/BN_get0_nist_prime_384.3.gz %%MAN3%%man/man3/BN_get0_nist_prime_521.3.gz %%MAN3%%man/man3/BN_get_rfc2409_prime_1024.3.gz %%MAN3%%man/man3/BN_get_rfc2409_prime_768.3.gz %%MAN3%%man/man3/BN_get_rfc3526_prime_1536.3.gz %%MAN3%%man/man3/BN_get_rfc3526_prime_2048.3.gz %%MAN3%%man/man3/BN_get_rfc3526_prime_3072.3.gz %%MAN3%%man/man3/BN_get_rfc3526_prime_4096.3.gz %%MAN3%%man/man3/BN_get_rfc3526_prime_6144.3.gz %%MAN3%%man/man3/BN_get_rfc3526_prime_8192.3.gz %%MAN3%%man/man3/BN_get_word.3.gz %%MAN3%%man/man3/BN_hex2bn.3.gz %%MAN3%%man/man3/BN_is_bit_set.3.gz %%MAN3%%man/man3/BN_is_odd.3.gz %%MAN3%%man/man3/BN_is_one.3.gz %%MAN3%%man/man3/BN_is_prime.3.gz %%MAN3%%man/man3/BN_is_prime_ex.3.gz %%MAN3%%man/man3/BN_is_prime_fasttest.3.gz %%MAN3%%man/man3/BN_is_prime_fasttest_ex.3.gz %%MAN3%%man/man3/BN_is_word.3.gz %%MAN3%%man/man3/BN_is_zero.3.gz %%MAN3%%man/man3/BN_lebin2bn.3.gz %%MAN3%%man/man3/BN_lshift.3.gz %%MAN3%%man/man3/BN_lshift1.3.gz %%MAN3%%man/man3/BN_mask_bits.3.gz %%MAN3%%man/man3/BN_mod.3.gz %%MAN3%%man/man3/BN_mod_add.3.gz %%MAN3%%man/man3/BN_mod_exp.3.gz %%MAN3%%man/man3/BN_mod_inverse.3.gz %%MAN3%%man/man3/BN_mod_mul.3.gz %%MAN3%%man/man3/BN_mod_mul_montgomery.3.gz %%MAN3%%man/man3/BN_mod_mul_reciprocal.3.gz %%MAN3%%man/man3/BN_mod_sqr.3.gz %%MAN3%%man/man3/BN_mod_sub.3.gz %%MAN3%%man/man3/BN_mod_word.3.gz %%MAN3%%man/man3/BN_mpi2bn.3.gz %%MAN3%%man/man3/BN_mul.3.gz %%MAN3%%man/man3/BN_mul_word.3.gz %%MAN3%%man/man3/BN_new.3.gz %%MAN3%%man/man3/BN_nnmod.3.gz %%MAN3%%man/man3/BN_num_bits.3.gz %%MAN3%%man/man3/BN_num_bits_word.3.gz %%MAN3%%man/man3/BN_num_bytes.3.gz %%MAN3%%man/man3/BN_one.3.gz %%MAN3%%man/man3/BN_print.3.gz %%MAN3%%man/man3/BN_print_fp.3.gz %%MAN3%%man/man3/BN_priv_rand.3.gz %%MAN3%%man/man3/BN_priv_rand_range.3.gz %%MAN3%%man/man3/BN_pseudo_rand.3.gz %%MAN3%%man/man3/BN_pseudo_rand_range.3.gz %%MAN3%%man/man3/BN_rand.3.gz %%MAN3%%man/man3/BN_rand_range.3.gz %%MAN3%%man/man3/BN_rshift.3.gz %%MAN3%%man/man3/BN_rshift1.3.gz %%MAN3%%man/man3/BN_secure_new.3.gz %%MAN3%%man/man3/BN_security_bits.3.gz %%MAN3%%man/man3/BN_set_bit.3.gz %%MAN3%%man/man3/BN_set_word.3.gz %%MAN3%%man/man3/BN_sqr.3.gz %%MAN3%%man/man3/BN_sub.3.gz %%MAN3%%man/man3/BN_sub_word.3.gz %%MAN3%%man/man3/BN_swap.3.gz %%MAN3%%man/man3/BN_to_ASN1_ENUMERATED.3.gz %%MAN3%%man/man3/BN_to_ASN1_INTEGER.3.gz %%MAN3%%man/man3/BN_to_montgomery.3.gz %%MAN3%%man/man3/BN_ucmp.3.gz %%MAN3%%man/man3/BN_value_one.3.gz %%MAN3%%man/man3/BN_with_flags.3.gz %%MAN3%%man/man3/BN_zero.3.gz %%MAN3%%man/man3/BUF_MEM_free.3.gz %%MAN3%%man/man3/BUF_MEM_grow.3.gz %%MAN3%%man/man3/BUF_MEM_grow_clean.3.gz %%MAN3%%man/man3/BUF_MEM_new.3.gz %%MAN3%%man/man3/BUF_MEM_new_ex.3.gz %%MAN3%%man/man3/BUF_reverse.3.gz %%MAN3%%man/man3/CERTIFICATEPOLICIES_free.3.gz %%MAN3%%man/man3/CERTIFICATEPOLICIES_new.3.gz %%MAN3%%man/man3/CMS_ContentInfo_free.3.gz %%MAN3%%man/man3/CMS_ContentInfo_new.3.gz %%MAN3%%man/man3/CMS_ContentInfo_print_ctx.3.gz %%MAN3%%man/man3/CMS_ReceiptRequest_create0.3.gz %%MAN3%%man/man3/CMS_ReceiptRequest_free.3.gz %%MAN3%%man/man3/CMS_ReceiptRequest_get0_values.3.gz %%MAN3%%man/man3/CMS_ReceiptRequest_new.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_decrypt.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_encrypt.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_kekri_get0_id.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_kekri_id_cmp.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_ktri_cert_cmp.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_ktri_get0_signer_id.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_set0_key.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_set0_pkey.3.gz %%MAN3%%man/man3/CMS_RecipientInfo_type.3.gz %%MAN3%%man/man3/CMS_SignerInfo_cert_cmp.3.gz %%MAN3%%man/man3/CMS_SignerInfo_get0_signature.3.gz %%MAN3%%man/man3/CMS_SignerInfo_get0_signer_id.3.gz %%MAN3%%man/man3/CMS_SignerInfo_set1_signer_cert.3.gz %%MAN3%%man/man3/CMS_SignerInfo_sign.3.gz %%MAN3%%man/man3/CMS_add0_cert.3.gz %%MAN3%%man/man3/CMS_add0_crl.3.gz %%MAN3%%man/man3/CMS_add0_recipient_key.3.gz %%MAN3%%man/man3/CMS_add1_ReceiptRequest.3.gz %%MAN3%%man/man3/CMS_add1_cert.3.gz %%MAN3%%man/man3/CMS_add1_crl.3.gz %%MAN3%%man/man3/CMS_add1_recipient_cert.3.gz %%MAN3%%man/man3/CMS_add1_signer.3.gz %%MAN3%%man/man3/CMS_compress.3.gz %%MAN3%%man/man3/CMS_decrypt.3.gz %%MAN3%%man/man3/CMS_encrypt.3.gz %%MAN3%%man/man3/CMS_final.3.gz %%MAN3%%man/man3/CMS_get0_RecipientInfos.3.gz %%MAN3%%man/man3/CMS_get0_SignerInfos.3.gz %%MAN3%%man/man3/CMS_get0_content.3.gz %%MAN3%%man/man3/CMS_get0_eContentType.3.gz %%MAN3%%man/man3/CMS_get0_signers.3.gz %%MAN3%%man/man3/CMS_get0_type.3.gz %%MAN3%%man/man3/CMS_get1_ReceiptRequest.3.gz %%MAN3%%man/man3/CMS_get1_certs.3.gz %%MAN3%%man/man3/CMS_get1_crls.3.gz %%MAN3%%man/man3/CMS_set1_eContentType.3.gz %%MAN3%%man/man3/CMS_sign.3.gz %%MAN3%%man/man3/CMS_sign_receipt.3.gz %%MAN3%%man/man3/CMS_uncompress.3.gz %%MAN3%%man/man3/CMS_verify.3.gz %%MAN3%%man/man3/CMS_verify_receipt.3.gz %%MAN3%%man/man3/CONF_modules_finish.3.gz %%MAN3%%man/man3/CONF_modules_free.3.gz %%MAN3%%man/man3/CONF_modules_load.3.gz %%MAN3%%man/man3/CONF_modules_load_file.3.gz %%MAN3%%man/man3/CONF_modules_unload.3.gz %%MAN3%%man/man3/CRL_DIST_POINTS_free.3.gz %%MAN3%%man/man3/CRL_DIST_POINTS_new.3.gz %%MAN3%%man/man3/CRYPTO_EX_dup.3.gz %%MAN3%%man/man3/CRYPTO_EX_free.3.gz %%MAN3%%man/man3/CRYPTO_EX_new.3.gz %%MAN3%%man/man3/CRYPTO_THREAD_lock_free.3.gz %%MAN3%%man/man3/CRYPTO_THREAD_lock_new.3.gz %%MAN3%%man/man3/CRYPTO_THREAD_read_lock.3.gz %%MAN3%%man/man3/CRYPTO_THREAD_run_once.3.gz %%MAN3%%man/man3/CRYPTO_THREAD_unlock.3.gz %%MAN3%%man/man3/CRYPTO_THREAD_write_lock.3.gz %%MAN3%%man/man3/CRYPTO_atomic_add.3.gz %%MAN3%%man/man3/CRYPTO_clear_free.3.gz %%MAN3%%man/man3/CRYPTO_clear_realloc.3.gz %%MAN3%%man/man3/CRYPTO_free.3.gz %%MAN3%%man/man3/CRYPTO_free_ex_data.3.gz %%MAN3%%man/man3/CRYPTO_free_ex_index.3.gz %%MAN3%%man/man3/CRYPTO_get_alloc_counts.3.gz %%MAN3%%man/man3/CRYPTO_get_ex_data.3.gz %%MAN3%%man/man3/CRYPTO_get_ex_new_index.3.gz %%MAN3%%man/man3/CRYPTO_get_mem_functions.3.gz %%MAN3%%man/man3/CRYPTO_malloc.3.gz %%MAN3%%man/man3/CRYPTO_mem_ctrl.3.gz %%MAN3%%man/man3/CRYPTO_mem_debug_pop.3.gz %%MAN3%%man/man3/CRYPTO_mem_debug_push.3.gz %%MAN3%%man/man3/CRYPTO_mem_leaks.3.gz %%MAN3%%man/man3/CRYPTO_mem_leaks_cb.3.gz %%MAN3%%man/man3/CRYPTO_mem_leaks_fp.3.gz %%MAN3%%man/man3/CRYPTO_memcmp.3.gz %%MAN3%%man/man3/CRYPTO_new_ex_data.3.gz %%MAN3%%man/man3/CRYPTO_realloc.3.gz %%MAN3%%man/man3/CRYPTO_secure_allocated.3.gz %%MAN3%%man/man3/CRYPTO_secure_clear_free.3.gz %%MAN3%%man/man3/CRYPTO_secure_free.3.gz %%MAN3%%man/man3/CRYPTO_secure_malloc.3.gz %%MAN3%%man/man3/CRYPTO_secure_malloc_done.3.gz %%MAN3%%man/man3/CRYPTO_secure_malloc_init.3.gz %%MAN3%%man/man3/CRYPTO_secure_malloc_initialized.3.gz %%MAN3%%man/man3/CRYPTO_secure_used.3.gz %%MAN3%%man/man3/CRYPTO_secure_zalloc.3.gz %%MAN3%%man/man3/CRYPTO_set_ex_data.3.gz %%MAN3%%man/man3/CRYPTO_set_mem_debug.3.gz %%MAN3%%man/man3/CRYPTO_set_mem_functions.3.gz %%MAN3%%man/man3/CRYPTO_strdup.3.gz %%MAN3%%man/man3/CRYPTO_strndup.3.gz %%MAN3%%man/man3/CRYPTO_zalloc.3.gz %%MAN3%%man/man3/CTLOG_STORE_free.3.gz %%MAN3%%man/man3/CTLOG_STORE_get0_log_by_id.3.gz %%MAN3%%man/man3/CTLOG_STORE_load_default_file.3.gz %%MAN3%%man/man3/CTLOG_STORE_load_file.3.gz %%MAN3%%man/man3/CTLOG_STORE_new.3.gz %%MAN3%%man/man3/CTLOG_free.3.gz %%MAN3%%man/man3/CTLOG_get0_log_id.3.gz %%MAN3%%man/man3/CTLOG_get0_name.3.gz %%MAN3%%man/man3/CTLOG_get0_public_key.3.gz %%MAN3%%man/man3/CTLOG_new.3.gz %%MAN3%%man/man3/CTLOG_new_from_base64.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_free.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_get0_cert.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_get0_issuer.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_get0_log_store.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_get_time.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_new.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_set1_cert.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_set1_issuer.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.3.gz %%MAN3%%man/man3/CT_POLICY_EVAL_CTX_set_time.3.gz %%MAN3%%man/man3/DECLARE_ASN1_FUNCTIONS.3.gz %%MAN3%%man/man3/DECLARE_LHASH_OF.3.gz %%MAN3%%man/man3/DECLARE_PEM_rw.3.gz %%MAN3%%man/man3/DEFINE_SPECIAL_STACK_OF.3.gz %%MAN3%%man/man3/DEFINE_SPECIAL_STACK_OF_CONST.3.gz %%MAN3%%man/man3/DEFINE_STACK_OF.3.gz %%MAN3%%man/man3/DEFINE_STACK_OF_CONST.3.gz %%MAN3%%man/man3/DES_cbc_cksum.3.gz %%MAN3%%man/man3/DES_cfb64_encrypt.3.gz %%MAN3%%man/man3/DES_cfb_encrypt.3.gz %%MAN3%%man/man3/DES_crypt.3.gz %%MAN3%%man/man3/DES_ecb2_encrypt.3.gz %%MAN3%%man/man3/DES_ecb3_encrypt.3.gz %%MAN3%%man/man3/DES_ecb_encrypt.3.gz %%MAN3%%man/man3/DES_ede2_cbc_encrypt.3.gz %%MAN3%%man/man3/DES_ede2_cfb64_encrypt.3.gz %%MAN3%%man/man3/DES_ede2_ofb64_encrypt.3.gz %%MAN3%%man/man3/DES_ede3_cbc_encrypt.3.gz %%MAN3%%man/man3/DES_ede3_cfb64_encrypt.3.gz %%MAN3%%man/man3/DES_ede3_ofb64_encrypt.3.gz %%MAN3%%man/man3/DES_fcrypt.3.gz %%MAN3%%man/man3/DES_is_weak_key.3.gz %%MAN3%%man/man3/DES_key_sched.3.gz %%MAN3%%man/man3/DES_ncbc_encrypt.3.gz %%MAN3%%man/man3/DES_ofb64_encrypt.3.gz %%MAN3%%man/man3/DES_ofb_encrypt.3.gz %%MAN3%%man/man3/DES_pcbc_encrypt.3.gz %%MAN3%%man/man3/DES_quad_cksum.3.gz %%MAN3%%man/man3/DES_random_key.3.gz %%MAN3%%man/man3/DES_set_key.3.gz %%MAN3%%man/man3/DES_set_key_checked.3.gz %%MAN3%%man/man3/DES_set_key_unchecked.3.gz %%MAN3%%man/man3/DES_set_odd_parity.3.gz %%MAN3%%man/man3/DES_string_to_2keys.3.gz %%MAN3%%man/man3/DES_string_to_key.3.gz %%MAN3%%man/man3/DES_xcbc_encrypt.3.gz %%MAN3%%man/man3/DH_OpenSSL.3.gz %%MAN3%%man/man3/DH_bits.3.gz %%MAN3%%man/man3/DH_check.3.gz %%MAN3%%man/man3/DH_check_ex.3.gz %%MAN3%%man/man3/DH_check_params.3.gz %%MAN3%%man/man3/DH_check_params_ex.3.gz %%MAN3%%man/man3/DH_check_pub_key_ex.3.gz %%MAN3%%man/man3/DH_clear_flags.3.gz %%MAN3%%man/man3/DH_compute_key.3.gz %%MAN3%%man/man3/DH_compute_key_padded.3.gz %%MAN3%%man/man3/DH_free.3.gz %%MAN3%%man/man3/DH_generate_key.3.gz %%MAN3%%man/man3/DH_generate_parameters.3.gz %%MAN3%%man/man3/DH_generate_parameters_ex.3.gz %%MAN3%%man/man3/DH_get0_engine.3.gz %%MAN3%%man/man3/DH_get0_g.3.gz %%MAN3%%man/man3/DH_get0_key.3.gz %%MAN3%%man/man3/DH_get0_p.3.gz %%MAN3%%man/man3/DH_get0_pqg.3.gz %%MAN3%%man/man3/DH_get0_priv_key.3.gz %%MAN3%%man/man3/DH_get0_pub_key.3.gz %%MAN3%%man/man3/DH_get0_q.3.gz %%MAN3%%man/man3/DH_get_1024_160.3.gz %%MAN3%%man/man3/DH_get_2048_224.3.gz %%MAN3%%man/man3/DH_get_2048_256.3.gz %%MAN3%%man/man3/DH_get_default_method.3.gz %%MAN3%%man/man3/DH_get_ex_data.3.gz %%MAN3%%man/man3/DH_get_ex_new_index.3.gz %%MAN3%%man/man3/DH_get_length.3.gz %%MAN3%%man/man3/DH_get_nid.3.gz %%MAN3%%man/man3/DH_meth_dup.3.gz %%MAN3%%man/man3/DH_meth_free.3.gz %%MAN3%%man/man3/DH_meth_get0_app_data.3.gz %%MAN3%%man/man3/DH_meth_get0_name.3.gz %%MAN3%%man/man3/DH_meth_get_bn_mod_exp.3.gz %%MAN3%%man/man3/DH_meth_get_compute_key.3.gz %%MAN3%%man/man3/DH_meth_get_finish.3.gz %%MAN3%%man/man3/DH_meth_get_flags.3.gz %%MAN3%%man/man3/DH_meth_get_generate_key.3.gz %%MAN3%%man/man3/DH_meth_get_generate_params.3.gz %%MAN3%%man/man3/DH_meth_get_init.3.gz %%MAN3%%man/man3/DH_meth_new.3.gz %%MAN3%%man/man3/DH_meth_set0_app_data.3.gz %%MAN3%%man/man3/DH_meth_set1_name.3.gz %%MAN3%%man/man3/DH_meth_set_bn_mod_exp.3.gz %%MAN3%%man/man3/DH_meth_set_compute_key.3.gz %%MAN3%%man/man3/DH_meth_set_finish.3.gz %%MAN3%%man/man3/DH_meth_set_flags.3.gz %%MAN3%%man/man3/DH_meth_set_generate_key.3.gz %%MAN3%%man/man3/DH_meth_set_generate_params.3.gz %%MAN3%%man/man3/DH_meth_set_init.3.gz %%MAN3%%man/man3/DH_new.3.gz %%MAN3%%man/man3/DH_new_by_nid.3.gz %%MAN3%%man/man3/DH_new_method.3.gz %%MAN3%%man/man3/DH_security_bits.3.gz %%MAN3%%man/man3/DH_set0_key.3.gz %%MAN3%%man/man3/DH_set0_pqg.3.gz %%MAN3%%man/man3/DH_set_default_method.3.gz %%MAN3%%man/man3/DH_set_ex_data.3.gz %%MAN3%%man/man3/DH_set_flags.3.gz %%MAN3%%man/man3/DH_set_length.3.gz %%MAN3%%man/man3/DH_set_method.3.gz %%MAN3%%man/man3/DH_size.3.gz %%MAN3%%man/man3/DH_test_flags.3.gz %%MAN3%%man/man3/DHparams_print.3.gz %%MAN3%%man/man3/DHparams_print_fp.3.gz %%MAN3%%man/man3/DIRECTORYSTRING_free.3.gz %%MAN3%%man/man3/DIRECTORYSTRING_new.3.gz %%MAN3%%man/man3/DISPLAYTEXT_free.3.gz %%MAN3%%man/man3/DISPLAYTEXT_new.3.gz %%MAN3%%man/man3/DIST_POINT_NAME_free.3.gz %%MAN3%%man/man3/DIST_POINT_NAME_new.3.gz %%MAN3%%man/man3/DIST_POINT_free.3.gz %%MAN3%%man/man3/DIST_POINT_new.3.gz %%MAN3%%man/man3/DSA_OpenSSL.3.gz %%MAN3%%man/man3/DSA_SIG_free.3.gz %%MAN3%%man/man3/DSA_SIG_get0.3.gz %%MAN3%%man/man3/DSA_SIG_new.3.gz %%MAN3%%man/man3/DSA_SIG_set0.3.gz %%MAN3%%man/man3/DSA_bits.3.gz %%MAN3%%man/man3/DSA_clear_flags.3.gz %%MAN3%%man/man3/DSA_do_sign.3.gz %%MAN3%%man/man3/DSA_do_verify.3.gz %%MAN3%%man/man3/DSA_dup_DH.3.gz %%MAN3%%man/man3/DSA_free.3.gz %%MAN3%%man/man3/DSA_generate_key.3.gz %%MAN3%%man/man3/DSA_generate_parameters.3.gz %%MAN3%%man/man3/DSA_generate_parameters_ex.3.gz %%MAN3%%man/man3/DSA_get0_engine.3.gz %%MAN3%%man/man3/DSA_get0_g.3.gz %%MAN3%%man/man3/DSA_get0_key.3.gz %%MAN3%%man/man3/DSA_get0_p.3.gz %%MAN3%%man/man3/DSA_get0_pqg.3.gz %%MAN3%%man/man3/DSA_get0_priv_key.3.gz %%MAN3%%man/man3/DSA_get0_pub_key.3.gz %%MAN3%%man/man3/DSA_get0_q.3.gz %%MAN3%%man/man3/DSA_get_default_method.3.gz %%MAN3%%man/man3/DSA_get_ex_data.3.gz %%MAN3%%man/man3/DSA_get_ex_new_index.3.gz %%MAN3%%man/man3/DSA_meth_dup.3.gz %%MAN3%%man/man3/DSA_meth_free.3.gz %%MAN3%%man/man3/DSA_meth_get0_app_data.3.gz %%MAN3%%man/man3/DSA_meth_get0_name.3.gz %%MAN3%%man/man3/DSA_meth_get_bn_mod_exp.3.gz %%MAN3%%man/man3/DSA_meth_get_finish.3.gz %%MAN3%%man/man3/DSA_meth_get_flags.3.gz %%MAN3%%man/man3/DSA_meth_get_init.3.gz %%MAN3%%man/man3/DSA_meth_get_keygen.3.gz %%MAN3%%man/man3/DSA_meth_get_mod_exp.3.gz %%MAN3%%man/man3/DSA_meth_get_paramgen.3.gz %%MAN3%%man/man3/DSA_meth_get_sign.3.gz %%MAN3%%man/man3/DSA_meth_get_sign_setup.3.gz %%MAN3%%man/man3/DSA_meth_get_verify.3.gz %%MAN3%%man/man3/DSA_meth_new.3.gz %%MAN3%%man/man3/DSA_meth_set0_app_data.3.gz %%MAN3%%man/man3/DSA_meth_set1_name.3.gz %%MAN3%%man/man3/DSA_meth_set_bn_mod_exp.3.gz %%MAN3%%man/man3/DSA_meth_set_finish.3.gz %%MAN3%%man/man3/DSA_meth_set_flags.3.gz %%MAN3%%man/man3/DSA_meth_set_init.3.gz %%MAN3%%man/man3/DSA_meth_set_keygen.3.gz %%MAN3%%man/man3/DSA_meth_set_mod_exp.3.gz %%MAN3%%man/man3/DSA_meth_set_paramgen.3.gz %%MAN3%%man/man3/DSA_meth_set_sign.3.gz %%MAN3%%man/man3/DSA_meth_set_sign_setup.3.gz %%MAN3%%man/man3/DSA_meth_set_verify.3.gz %%MAN3%%man/man3/DSA_new.3.gz %%MAN3%%man/man3/DSA_new_method.3.gz %%MAN3%%man/man3/DSA_print.3.gz %%MAN3%%man/man3/DSA_print_fp.3.gz %%MAN3%%man/man3/DSA_security_bits.3.gz %%MAN3%%man/man3/DSA_set0_key.3.gz %%MAN3%%man/man3/DSA_set0_pqg.3.gz %%MAN3%%man/man3/DSA_set_default_method.3.gz %%MAN3%%man/man3/DSA_set_ex_data.3.gz %%MAN3%%man/man3/DSA_set_flags.3.gz %%MAN3%%man/man3/DSA_set_method.3.gz %%MAN3%%man/man3/DSA_sign.3.gz %%MAN3%%man/man3/DSA_sign_setup.3.gz %%MAN3%%man/man3/DSA_size.3.gz %%MAN3%%man/man3/DSA_test_flags.3.gz %%MAN3%%man/man3/DSA_verify.3.gz %%MAN3%%man/man3/DSAparams_dup.3.gz %%MAN3%%man/man3/DSAparams_print.3.gz %%MAN3%%man/man3/DSAparams_print_fp.3.gz %%MAN3%%man/man3/DTLS_client_method.3.gz %%MAN3%%man/man3/DTLS_get_data_mtu.3.gz %%MAN3%%man/man3/DTLS_method.3.gz %%MAN3%%man/man3/DTLS_server_method.3.gz %%MAN3%%man/man3/DTLS_set_timer_cb.3.gz %%MAN3%%man/man3/DTLS_timer_cb.3.gz %%MAN3%%man/man3/DTLSv1_2_client_method.3.gz %%MAN3%%man/man3/DTLSv1_2_method.3.gz %%MAN3%%man/man3/DTLSv1_2_server_method.3.gz %%MAN3%%man/man3/DTLSv1_client_method.3.gz %%MAN3%%man/man3/DTLSv1_listen.3.gz %%MAN3%%man/man3/DTLSv1_method.3.gz %%MAN3%%man/man3/DTLSv1_server_method.3.gz %%MAN3%%man/man3/ECDH_get_ex_data.3.gz %%MAN3%%man/man3/ECDH_get_ex_new_index.3.gz %%MAN3%%man/man3/ECDH_set_ex_data.3.gz %%MAN3%%man/man3/ECDSA_SIG_free.3.gz %%MAN3%%man/man3/ECDSA_SIG_get0.3.gz %%MAN3%%man/man3/ECDSA_SIG_get0_r.3.gz %%MAN3%%man/man3/ECDSA_SIG_get0_s.3.gz %%MAN3%%man/man3/ECDSA_SIG_new.3.gz %%MAN3%%man/man3/ECDSA_SIG_set0.3.gz %%MAN3%%man/man3/ECDSA_do_sign.3.gz %%MAN3%%man/man3/ECDSA_do_sign_ex.3.gz %%MAN3%%man/man3/ECDSA_do_verify.3.gz %%MAN3%%man/man3/ECDSA_sign.3.gz %%MAN3%%man/man3/ECDSA_sign_ex.3.gz %%MAN3%%man/man3/ECDSA_sign_setup.3.gz %%MAN3%%man/man3/ECDSA_size.3.gz %%MAN3%%man/man3/ECDSA_verify.3.gz %%MAN3%%man/man3/ECPARAMETERS_free.3.gz %%MAN3%%man/man3/ECPARAMETERS_new.3.gz %%MAN3%%man/man3/ECPKPARAMETERS_free.3.gz %%MAN3%%man/man3/ECPKPARAMETERS_new.3.gz %%MAN3%%man/man3/ECPKParameters_print.3.gz %%MAN3%%man/man3/ECPKParameters_print_fp.3.gz %%MAN3%%man/man3/EC_GF2m_simple_method.3.gz %%MAN3%%man/man3/EC_GFp_mont_method.3.gz %%MAN3%%man/man3/EC_GFp_nist_method.3.gz %%MAN3%%man/man3/EC_GFp_nistp224_method.3.gz %%MAN3%%man/man3/EC_GFp_nistp256_method.3.gz %%MAN3%%man/man3/EC_GFp_nistp521_method.3.gz %%MAN3%%man/man3/EC_GFp_simple_method.3.gz %%MAN3%%man/man3/EC_GROUP_check.3.gz %%MAN3%%man/man3/EC_GROUP_check_discriminant.3.gz %%MAN3%%man/man3/EC_GROUP_clear_free.3.gz %%MAN3%%man/man3/EC_GROUP_cmp.3.gz %%MAN3%%man/man3/EC_GROUP_copy.3.gz %%MAN3%%man/man3/EC_GROUP_dup.3.gz %%MAN3%%man/man3/EC_GROUP_free.3.gz %%MAN3%%man/man3/EC_GROUP_get0_cofactor.3.gz %%MAN3%%man/man3/EC_GROUP_get0_generator.3.gz %%MAN3%%man/man3/EC_GROUP_get0_order.3.gz %%MAN3%%man/man3/EC_GROUP_get0_seed.3.gz %%MAN3%%man/man3/EC_GROUP_get_asn1_flag.3.gz %%MAN3%%man/man3/EC_GROUP_get_basis_type.3.gz %%MAN3%%man/man3/EC_GROUP_get_cofactor.3.gz %%MAN3%%man/man3/EC_GROUP_get_curve.3.gz %%MAN3%%man/man3/EC_GROUP_get_curve_GF2m.3.gz %%MAN3%%man/man3/EC_GROUP_get_curve_GFp.3.gz %%MAN3%%man/man3/EC_GROUP_get_curve_name.3.gz %%MAN3%%man/man3/EC_GROUP_get_degree.3.gz %%MAN3%%man/man3/EC_GROUP_get_ecparameters.3.gz %%MAN3%%man/man3/EC_GROUP_get_ecpkparameters.3.gz %%MAN3%%man/man3/EC_GROUP_get_order.3.gz %%MAN3%%man/man3/EC_GROUP_get_pentanomial_basis.3.gz %%MAN3%%man/man3/EC_GROUP_get_point_conversion_form.3.gz %%MAN3%%man/man3/EC_GROUP_get_seed_len.3.gz %%MAN3%%man/man3/EC_GROUP_get_trinomial_basis.3.gz %%MAN3%%man/man3/EC_GROUP_have_precompute_mult.3.gz %%MAN3%%man/man3/EC_GROUP_method_of.3.gz %%MAN3%%man/man3/EC_GROUP_new.3.gz %%MAN3%%man/man3/EC_GROUP_new_by_curve_name.3.gz %%MAN3%%man/man3/EC_GROUP_new_curve_GF2m.3.gz %%MAN3%%man/man3/EC_GROUP_new_curve_GFp.3.gz %%MAN3%%man/man3/EC_GROUP_new_from_ecparameters.3.gz %%MAN3%%man/man3/EC_GROUP_new_from_ecpkparameters.3.gz %%MAN3%%man/man3/EC_GROUP_order_bits.3.gz %%MAN3%%man/man3/EC_GROUP_precompute_mult.3.gz %%MAN3%%man/man3/EC_GROUP_set_asn1_flag.3.gz %%MAN3%%man/man3/EC_GROUP_set_curve.3.gz %%MAN3%%man/man3/EC_GROUP_set_curve_GF2m.3.gz %%MAN3%%man/man3/EC_GROUP_set_curve_GFp.3.gz %%MAN3%%man/man3/EC_GROUP_set_curve_name.3.gz %%MAN3%%man/man3/EC_GROUP_set_generator.3.gz %%MAN3%%man/man3/EC_GROUP_set_point_conversion_form.3.gz %%MAN3%%man/man3/EC_GROUP_set_seed.3.gz %%MAN3%%man/man3/EC_KEY_check_key.3.gz %%MAN3%%man/man3/EC_KEY_clear_flags.3.gz %%MAN3%%man/man3/EC_KEY_copy.3.gz %%MAN3%%man/man3/EC_KEY_dup.3.gz %%MAN3%%man/man3/EC_KEY_decoded_from_explicit_params.3.gz %%MAN3%%man/man3/EC_KEY_free.3.gz %%MAN3%%man/man3/EC_KEY_generate_key.3.gz %%MAN3%%man/man3/EC_KEY_get0_engine.3.gz %%MAN3%%man/man3/EC_KEY_get0_group.3.gz %%MAN3%%man/man3/EC_KEY_get0_private_key.3.gz %%MAN3%%man/man3/EC_KEY_get0_public_key.3.gz %%MAN3%%man/man3/EC_KEY_get_conv_form.3.gz %%MAN3%%man/man3/EC_KEY_get_enc_flags.3.gz %%MAN3%%man/man3/EC_KEY_get_ex_data.3.gz %%MAN3%%man/man3/EC_KEY_get_ex_new_index.3.gz %%MAN3%%man/man3/EC_KEY_get_flags.3.gz %%MAN3%%man/man3/EC_KEY_get_method.3.gz %%MAN3%%man/man3/EC_KEY_key2buf.3.gz %%MAN3%%man/man3/EC_KEY_new.3.gz %%MAN3%%man/man3/EC_KEY_new_by_curve_name.3.gz %%MAN3%%man/man3/EC_KEY_oct2key.3.gz %%MAN3%%man/man3/EC_KEY_oct2priv.3.gz %%MAN3%%man/man3/EC_KEY_precompute_mult.3.gz %%MAN3%%man/man3/EC_KEY_priv2buf.3.gz %%MAN3%%man/man3/EC_KEY_priv2oct.3.gz %%MAN3%%man/man3/EC_KEY_set_asn1_flag.3.gz %%MAN3%%man/man3/EC_KEY_set_conv_form.3.gz %%MAN3%%man/man3/EC_KEY_set_enc_flags.3.gz %%MAN3%%man/man3/EC_KEY_set_ex_data.3.gz %%MAN3%%man/man3/EC_KEY_set_flags.3.gz %%MAN3%%man/man3/EC_KEY_set_group.3.gz %%MAN3%%man/man3/EC_KEY_set_method.3.gz %%MAN3%%man/man3/EC_KEY_set_private_key.3.gz %%MAN3%%man/man3/EC_KEY_set_public_key.3.gz %%MAN3%%man/man3/EC_KEY_set_public_key_affine_coordinates.3.gz %%MAN3%%man/man3/EC_KEY_up_ref.3.gz %%MAN3%%man/man3/EC_METHOD_get_field_type.3.gz %%MAN3%%man/man3/EC_POINT_add.3.gz %%MAN3%%man/man3/EC_POINT_bn2point.3.gz %%MAN3%%man/man3/EC_POINT_clear_free.3.gz %%MAN3%%man/man3/EC_POINT_cmp.3.gz %%MAN3%%man/man3/EC_POINT_copy.3.gz %%MAN3%%man/man3/EC_POINT_dbl.3.gz %%MAN3%%man/man3/EC_POINT_dup.3.gz %%MAN3%%man/man3/EC_POINT_free.3.gz %%MAN3%%man/man3/EC_POINT_get_Jprojective_coordinates_GFp.3.gz %%MAN3%%man/man3/EC_POINT_get_affine_coordinates.3.gz %%MAN3%%man/man3/EC_POINT_get_affine_coordinates_GF2m.3.gz %%MAN3%%man/man3/EC_POINT_get_affine_coordinates_GFp.3.gz %%MAN3%%man/man3/EC_POINT_hex2point.3.gz %%MAN3%%man/man3/EC_POINT_invert.3.gz %%MAN3%%man/man3/EC_POINT_is_at_infinity.3.gz %%MAN3%%man/man3/EC_POINT_is_on_curve.3.gz %%MAN3%%man/man3/EC_POINT_make_affine.3.gz %%MAN3%%man/man3/EC_POINT_method_of.3.gz %%MAN3%%man/man3/EC_POINT_mul.3.gz %%MAN3%%man/man3/EC_POINT_new.3.gz %%MAN3%%man/man3/EC_POINT_oct2point.3.gz %%MAN3%%man/man3/EC_POINT_point2bn.3.gz %%MAN3%%man/man3/EC_POINT_point2buf.3.gz %%MAN3%%man/man3/EC_POINT_point2hex.3.gz %%MAN3%%man/man3/EC_POINT_point2oct.3.gz %%MAN3%%man/man3/EC_POINT_set_Jprojective_coordinates_GFp.3.gz %%MAN3%%man/man3/EC_POINT_set_affine_coordinates.3.gz %%MAN3%%man/man3/EC_POINT_set_affine_coordinates_GF2m.3.gz %%MAN3%%man/man3/EC_POINT_set_affine_coordinates_GFp.3.gz %%MAN3%%man/man3/EC_POINT_set_compressed_coordinates.3.gz %%MAN3%%man/man3/EC_POINT_set_compressed_coordinates_GF2m.3.gz %%MAN3%%man/man3/EC_POINT_set_compressed_coordinates_GFp.3.gz %%MAN3%%man/man3/EC_POINT_set_to_infinity.3.gz %%MAN3%%man/man3/EC_POINTs_make_affine.3.gz %%MAN3%%man/man3/EC_POINTs_mul.3.gz %%MAN3%%man/man3/EC_get_builtin_curves.3.gz %%MAN3%%man/man3/EDIPARTYNAME_free.3.gz %%MAN3%%man/man3/EDIPARTYNAME_new.3.gz %%MAN3%%man/man3/ENGINE_add.3.gz %%MAN3%%man/man3/ENGINE_add_conf_module.3.gz %%MAN3%%man/man3/ENGINE_by_id.3.gz %%MAN3%%man/man3/ENGINE_cleanup.3.gz %%MAN3%%man/man3/ENGINE_cmd_is_executable.3.gz %%MAN3%%man/man3/ENGINE_ctrl.3.gz %%MAN3%%man/man3/ENGINE_ctrl_cmd.3.gz %%MAN3%%man/man3/ENGINE_ctrl_cmd_string.3.gz %%MAN3%%man/man3/ENGINE_finish.3.gz %%MAN3%%man/man3/ENGINE_free.3.gz %%MAN3%%man/man3/ENGINE_get_DH.3.gz %%MAN3%%man/man3/ENGINE_get_DSA.3.gz %%MAN3%%man/man3/ENGINE_get_RAND.3.gz %%MAN3%%man/man3/ENGINE_get_RSA.3.gz %%MAN3%%man/man3/ENGINE_get_cipher.3.gz %%MAN3%%man/man3/ENGINE_get_cipher_engine.3.gz %%MAN3%%man/man3/ENGINE_get_ciphers.3.gz %%MAN3%%man/man3/ENGINE_get_cmd_defns.3.gz %%MAN3%%man/man3/ENGINE_get_ctrl_function.3.gz %%MAN3%%man/man3/ENGINE_get_default_DH.3.gz %%MAN3%%man/man3/ENGINE_get_default_DSA.3.gz %%MAN3%%man/man3/ENGINE_get_default_RAND.3.gz %%MAN3%%man/man3/ENGINE_get_default_RSA.3.gz %%MAN3%%man/man3/ENGINE_get_destroy_function.3.gz %%MAN3%%man/man3/ENGINE_get_digest.3.gz %%MAN3%%man/man3/ENGINE_get_digest_engine.3.gz %%MAN3%%man/man3/ENGINE_get_digests.3.gz %%MAN3%%man/man3/ENGINE_get_ex_data.3.gz %%MAN3%%man/man3/ENGINE_get_ex_new_index.3.gz %%MAN3%%man/man3/ENGINE_get_finish_function.3.gz %%MAN3%%man/man3/ENGINE_get_first.3.gz %%MAN3%%man/man3/ENGINE_get_flags.3.gz %%MAN3%%man/man3/ENGINE_get_id.3.gz %%MAN3%%man/man3/ENGINE_get_init_function.3.gz %%MAN3%%man/man3/ENGINE_get_last.3.gz %%MAN3%%man/man3/ENGINE_get_load_privkey_function.3.gz %%MAN3%%man/man3/ENGINE_get_load_pubkey_function.3.gz %%MAN3%%man/man3/ENGINE_get_name.3.gz %%MAN3%%man/man3/ENGINE_get_next.3.gz %%MAN3%%man/man3/ENGINE_get_prev.3.gz %%MAN3%%man/man3/ENGINE_get_table_flags.3.gz %%MAN3%%man/man3/ENGINE_init.3.gz %%MAN3%%man/man3/ENGINE_load_builtin_engines.3.gz %%MAN3%%man/man3/ENGINE_load_private_key.3.gz %%MAN3%%man/man3/ENGINE_load_public_key.3.gz %%MAN3%%man/man3/ENGINE_new.3.gz %%MAN3%%man/man3/ENGINE_register_DH.3.gz %%MAN3%%man/man3/ENGINE_register_DSA.3.gz %%MAN3%%man/man3/ENGINE_register_RAND.3.gz %%MAN3%%man/man3/ENGINE_register_RSA.3.gz %%MAN3%%man/man3/ENGINE_register_all_DH.3.gz %%MAN3%%man/man3/ENGINE_register_all_DSA.3.gz %%MAN3%%man/man3/ENGINE_register_all_RAND.3.gz %%MAN3%%man/man3/ENGINE_register_all_RSA.3.gz %%MAN3%%man/man3/ENGINE_register_all_ciphers.3.gz %%MAN3%%man/man3/ENGINE_register_all_complete.3.gz %%MAN3%%man/man3/ENGINE_register_all_digests.3.gz %%MAN3%%man/man3/ENGINE_register_ciphers.3.gz %%MAN3%%man/man3/ENGINE_register_complete.3.gz %%MAN3%%man/man3/ENGINE_register_digests.3.gz %%MAN3%%man/man3/ENGINE_remove.3.gz %%MAN3%%man/man3/ENGINE_set_DH.3.gz %%MAN3%%man/man3/ENGINE_set_DSA.3.gz %%MAN3%%man/man3/ENGINE_set_RAND.3.gz %%MAN3%%man/man3/ENGINE_set_RSA.3.gz %%MAN3%%man/man3/ENGINE_set_ciphers.3.gz %%MAN3%%man/man3/ENGINE_set_cmd_defns.3.gz %%MAN3%%man/man3/ENGINE_set_ctrl_function.3.gz %%MAN3%%man/man3/ENGINE_set_default.3.gz %%MAN3%%man/man3/ENGINE_set_default_DH.3.gz %%MAN3%%man/man3/ENGINE_set_default_DSA.3.gz %%MAN3%%man/man3/ENGINE_set_default_RAND.3.gz %%MAN3%%man/man3/ENGINE_set_default_RSA.3.gz %%MAN3%%man/man3/ENGINE_set_default_ciphers.3.gz %%MAN3%%man/man3/ENGINE_set_default_digests.3.gz %%MAN3%%man/man3/ENGINE_set_default_string.3.gz %%MAN3%%man/man3/ENGINE_set_destroy_function.3.gz %%MAN3%%man/man3/ENGINE_set_digests.3.gz %%MAN3%%man/man3/ENGINE_set_ex_data.3.gz %%MAN3%%man/man3/ENGINE_set_finish_function.3.gz %%MAN3%%man/man3/ENGINE_set_flags.3.gz %%MAN3%%man/man3/ENGINE_set_id.3.gz %%MAN3%%man/man3/ENGINE_set_init_function.3.gz %%MAN3%%man/man3/ENGINE_set_load_privkey_function.3.gz %%MAN3%%man/man3/ENGINE_set_load_pubkey_function.3.gz %%MAN3%%man/man3/ENGINE_set_name.3.gz %%MAN3%%man/man3/ENGINE_set_table_flags.3.gz %%MAN3%%man/man3/ENGINE_unregister_DH.3.gz %%MAN3%%man/man3/ENGINE_unregister_DSA.3.gz %%MAN3%%man/man3/ENGINE_unregister_RAND.3.gz %%MAN3%%man/man3/ENGINE_unregister_RSA.3.gz %%MAN3%%man/man3/ENGINE_unregister_ciphers.3.gz %%MAN3%%man/man3/ENGINE_unregister_digests.3.gz %%MAN3%%man/man3/ENGINE_up_ref.3.gz %%MAN3%%man/man3/ERR_FATAL_ERROR.3.gz %%MAN3%%man/man3/ERR_GET_FUNC.3.gz %%MAN3%%man/man3/ERR_GET_LIB.3.gz %%MAN3%%man/man3/ERR_GET_REASON.3.gz %%MAN3%%man/man3/ERR_PACK.3.gz %%MAN3%%man/man3/ERR_add_error_data.3.gz %%MAN3%%man/man3/ERR_add_error_vdata.3.gz %%MAN3%%man/man3/ERR_clear_error.3.gz %%MAN3%%man/man3/ERR_error_string.3.gz %%MAN3%%man/man3/ERR_error_string_n.3.gz %%MAN3%%man/man3/ERR_free_strings.3.gz %%MAN3%%man/man3/ERR_func_error_string.3.gz %%MAN3%%man/man3/ERR_get_error.3.gz %%MAN3%%man/man3/ERR_get_error_line.3.gz %%MAN3%%man/man3/ERR_get_error_line_data.3.gz %%MAN3%%man/man3/ERR_get_next_error_library.3.gz %%MAN3%%man/man3/ERR_lib_error_string.3.gz %%MAN3%%man/man3/ERR_load_crypto_strings.3.gz %%MAN3%%man/man3/ERR_load_strings.3.gz %%MAN3%%man/man3/ERR_peek_error.3.gz %%MAN3%%man/man3/ERR_peek_error_line.3.gz %%MAN3%%man/man3/ERR_peek_error_line_data.3.gz %%MAN3%%man/man3/ERR_peek_last_error.3.gz %%MAN3%%man/man3/ERR_peek_last_error_line.3.gz %%MAN3%%man/man3/ERR_peek_last_error_line_data.3.gz %%MAN3%%man/man3/ERR_pop_to_mark.3.gz %%MAN3%%man/man3/ERR_print_errors.3.gz %%MAN3%%man/man3/ERR_print_errors_cb.3.gz %%MAN3%%man/man3/ERR_print_errors_fp.3.gz %%MAN3%%man/man3/ERR_put_error.3.gz %%MAN3%%man/man3/ERR_reason_error_string.3.gz %%MAN3%%man/man3/ERR_remove_state.3.gz %%MAN3%%man/man3/ERR_remove_thread_state.3.gz %%MAN3%%man/man3/ERR_set_mark.3.gz %%MAN3%%man/man3/ESS_CERT_ID_dup.3.gz %%MAN3%%man/man3/ESS_CERT_ID_free.3.gz %%MAN3%%man/man3/ESS_CERT_ID_new.3.gz %%MAN3%%man/man3/ESS_ISSUER_SERIAL_dup.3.gz %%MAN3%%man/man3/ESS_ISSUER_SERIAL_free.3.gz %%MAN3%%man/man3/ESS_ISSUER_SERIAL_new.3.gz %%MAN3%%man/man3/ESS_SIGNING_CERT_dup.3.gz %%MAN3%%man/man3/ESS_SIGNING_CERT_free.3.gz %%MAN3%%man/man3/ESS_SIGNING_CERT_new.3.gz %%MAN3%%man/man3/EVP_BytesToKey.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_block_size.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_cipher.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_ctrl.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_flags.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_free.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_get_app_data.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_get_cipher_data.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_iv_length.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_key_length.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_mode.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_new.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_nid.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_reset.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_set_app_data.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_set_cipher_data.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_set_key_length.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_set_padding.3.gz %%MAN3%%man/man3/EVP_CIPHER_CTX_type.3.gz %%MAN3%%man/man3/EVP_CIPHER_asn1_to_param.3.gz %%MAN3%%man/man3/EVP_CIPHER_block_size.3.gz %%MAN3%%man/man3/EVP_CIPHER_flags.3.gz %%MAN3%%man/man3/EVP_CIPHER_iv_length.3.gz %%MAN3%%man/man3/EVP_CIPHER_key_length.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_dup.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_free.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_get_cleanup.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_get_ctrl.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_get_do_cipher.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_get_get_asn1_params.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_get_init.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_get_set_asn1_params.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_new.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_cleanup.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_ctrl.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_do_cipher.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_flags.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_get_asn1_params.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_impl_ctx_size.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_init.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_iv_length.3.gz %%MAN3%%man/man3/EVP_CIPHER_meth_set_set_asn1_params.3.gz %%MAN3%%man/man3/EVP_CIPHER_mode.3.gz %%MAN3%%man/man3/EVP_CIPHER_nid.3.gz %%MAN3%%man/man3/EVP_CIPHER_param_to_asn1.3.gz %%MAN3%%man/man3/EVP_CIPHER_type.3.gz %%MAN3%%man/man3/EVP_CipherFinal.3.gz %%MAN3%%man/man3/EVP_CipherFinal_ex.3.gz %%MAN3%%man/man3/EVP_CipherInit.3.gz %%MAN3%%man/man3/EVP_CipherInit_ex.3.gz %%MAN3%%man/man3/EVP_CipherUpdate.3.gz %%MAN3%%man/man3/EVP_DecodeBlock.3.gz %%MAN3%%man/man3/EVP_DecodeFinal.3.gz %%MAN3%%man/man3/EVP_DecodeInit.3.gz %%MAN3%%man/man3/EVP_DecodeUpdate.3.gz %%MAN3%%man/man3/EVP_DecryptFinal.3.gz %%MAN3%%man/man3/EVP_DecryptFinal_ex.3.gz %%MAN3%%man/man3/EVP_DecryptInit.3.gz %%MAN3%%man/man3/EVP_DecryptInit_ex.3.gz %%MAN3%%man/man3/EVP_DecryptUpdate.3.gz %%MAN3%%man/man3/EVP_Digest.3.gz %%MAN3%%man/man3/EVP_DigestFinal.3.gz %%MAN3%%man/man3/EVP_DigestFinalXOF.3.gz %%MAN3%%man/man3/EVP_DigestFinal_ex.3.gz %%MAN3%%man/man3/EVP_DigestInit.3.gz %%MAN3%%man/man3/EVP_DigestInit_ex.3.gz %%MAN3%%man/man3/EVP_DigestSign.3.gz %%MAN3%%man/man3/EVP_DigestSignFinal.3.gz %%MAN3%%man/man3/EVP_DigestSignInit.3.gz %%MAN3%%man/man3/EVP_DigestSignUpdate.3.gz %%MAN3%%man/man3/EVP_DigestUpdate.3.gz %%MAN3%%man/man3/EVP_DigestVerify.3.gz %%MAN3%%man/man3/EVP_DigestVerifyFinal.3.gz %%MAN3%%man/man3/EVP_DigestVerifyInit.3.gz %%MAN3%%man/man3/EVP_DigestVerifyUpdate.3.gz %%MAN3%%man/man3/EVP_ENCODE_CTX_copy.3.gz %%MAN3%%man/man3/EVP_ENCODE_CTX_free.3.gz %%MAN3%%man/man3/EVP_ENCODE_CTX_new.3.gz %%MAN3%%man/man3/EVP_ENCODE_CTX_num.3.gz %%MAN3%%man/man3/EVP_EncodeBlock.3.gz %%MAN3%%man/man3/EVP_EncodeFinal.3.gz %%MAN3%%man/man3/EVP_EncodeInit.3.gz %%MAN3%%man/man3/EVP_EncodeUpdate.3.gz %%MAN3%%man/man3/EVP_EncryptFinal.3.gz %%MAN3%%man/man3/EVP_EncryptFinal_ex.3.gz %%MAN3%%man/man3/EVP_EncryptInit.3.gz %%MAN3%%man/man3/EVP_EncryptInit_ex.3.gz %%MAN3%%man/man3/EVP_EncryptUpdate.3.gz %%MAN3%%man/man3/EVP_MD_CTX_block_size.3.gz %%MAN3%%man/man3/EVP_MD_CTX_clear_flags.3.gz %%MAN3%%man/man3/EVP_MD_CTX_copy.3.gz %%MAN3%%man/man3/EVP_MD_CTX_copy_ex.3.gz %%MAN3%%man/man3/EVP_MD_CTX_ctrl.3.gz %%MAN3%%man/man3/EVP_MD_CTX_free.3.gz %%MAN3%%man/man3/EVP_MD_CTX_md.3.gz %%MAN3%%man/man3/EVP_MD_CTX_md_data.3.gz %%MAN3%%man/man3/EVP_MD_CTX_new.3.gz %%MAN3%%man/man3/EVP_MD_CTX_pkey_ctx.3.gz %%MAN3%%man/man3/EVP_MD_CTX_reset.3.gz %%MAN3%%man/man3/EVP_MD_CTX_set_flags.3.gz %%MAN3%%man/man3/EVP_MD_CTX_set_pkey_ctx.3.gz %%MAN3%%man/man3/EVP_MD_CTX_set_update_fn.3.gz %%MAN3%%man/man3/EVP_MD_CTX_size.3.gz %%MAN3%%man/man3/EVP_MD_CTX_test_flags.3.gz %%MAN3%%man/man3/EVP_MD_CTX_type.3.gz %%MAN3%%man/man3/EVP_MD_CTX_update_fn.3.gz %%MAN3%%man/man3/EVP_MD_block_size.3.gz %%MAN3%%man/man3/EVP_MD_flags.3.gz %%MAN3%%man/man3/EVP_MD_meth_dup.3.gz %%MAN3%%man/man3/EVP_MD_meth_free.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_app_datasize.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_cleanup.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_copy.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_ctrl.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_final.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_flags.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_init.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_input_blocksize.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_result_size.3.gz %%MAN3%%man/man3/EVP_MD_meth_get_update.3.gz %%MAN3%%man/man3/EVP_MD_meth_new.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_app_datasize.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_cleanup.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_copy.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_ctrl.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_final.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_flags.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_init.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_input_blocksize.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_result_size.3.gz %%MAN3%%man/man3/EVP_MD_meth_set_update.3.gz %%MAN3%%man/man3/EVP_MD_pkey_type.3.gz %%MAN3%%man/man3/EVP_MD_size.3.gz %%MAN3%%man/man3/EVP_MD_type.3.gz %%MAN3%%man/man3/EVP_OpenFinal.3.gz %%MAN3%%man/man3/EVP_OpenInit.3.gz %%MAN3%%man/man3/EVP_OpenUpdate.3.gz %%MAN3%%man/man3/EVP_PKEY_ASN1_METHOD.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_add1_hkdf_info.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_ctrl.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_ctrl_str.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_ctrl_uint64.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_dup.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_free.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get1_id.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get1_id_len.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_app_data.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_cb.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_dh_kdf_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_dh_kdf_type.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_keygen_info.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_rsa_oaep_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_rsa_padding.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_get_signature_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_hkdf_mode.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_new.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_new_id.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set1_hkdf_key.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set1_hkdf_salt.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set1_id.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set1_pbe_pass.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set1_scrypt_salt.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_app_data.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_cb.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_kdf_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_kdf_type.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_nid.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_pad.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_paramgen_type.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dh_rfc5114.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dhx_rfc5114.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_ec_param_enc.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_hkdf_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_mac_key.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_oaep_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_padding.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_scrypt_N.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_scrypt_p.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_scrypt_r.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_signature_md.3.gz %%MAN3%%man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3.gz %%MAN3%%man/man3/EVP_PKEY_METHOD.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_add0.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_add_alias.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_copy.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_find.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_find_str.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_free.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_get0.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_get0_info.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_get_count.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_new.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_check.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_ctrl.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_free.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_get_priv_key.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_get_pub_key.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_item.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_param.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_param_check.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_private.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_public.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_public_check.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_security_bits.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_set_priv_key.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_set_pub_key.3.gz %%MAN3%%man/man3/EVP_PKEY_asn1_set_siginf.3.gz %%MAN3%%man/man3/EVP_PKEY_assign_DH.3.gz %%MAN3%%man/man3/EVP_PKEY_assign_DSA.3.gz %%MAN3%%man/man3/EVP_PKEY_assign_EC_KEY.3.gz %%MAN3%%man/man3/EVP_PKEY_assign_POLY1305.3.gz %%MAN3%%man/man3/EVP_PKEY_assign_RSA.3.gz %%MAN3%%man/man3/EVP_PKEY_assign_SIPHASH.3.gz %%MAN3%%man/man3/EVP_PKEY_base_id.3.gz %%MAN3%%man/man3/EVP_PKEY_bits.3.gz %%MAN3%%man/man3/EVP_PKEY_check.3.gz %%MAN3%%man/man3/EVP_PKEY_cmp.3.gz %%MAN3%%man/man3/EVP_PKEY_cmp_parameters.3.gz %%MAN3%%man/man3/EVP_PKEY_copy_parameters.3.gz %%MAN3%%man/man3/EVP_PKEY_decrypt.3.gz %%MAN3%%man/man3/EVP_PKEY_decrypt_init.3.gz %%MAN3%%man/man3/EVP_PKEY_derive.3.gz %%MAN3%%man/man3/EVP_PKEY_derive_init.3.gz %%MAN3%%man/man3/EVP_PKEY_derive_set_peer.3.gz %%MAN3%%man/man3/EVP_PKEY_encrypt.3.gz %%MAN3%%man/man3/EVP_PKEY_encrypt_init.3.gz %%MAN3%%man/man3/EVP_PKEY_free.3.gz %%MAN3%%man/man3/EVP_PKEY_gen_cb.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_DH.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_DSA.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_EC_KEY.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_RSA.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_asn1.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_engine.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_hmac.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_poly1305.3.gz %%MAN3%%man/man3/EVP_PKEY_get0_siphash.3.gz %%MAN3%%man/man3/EVP_PKEY_get1_DH.3.gz %%MAN3%%man/man3/EVP_PKEY_get1_DSA.3.gz %%MAN3%%man/man3/EVP_PKEY_get1_EC_KEY.3.gz %%MAN3%%man/man3/EVP_PKEY_get1_RSA.3.gz %%MAN3%%man/man3/EVP_PKEY_get_default_digest_nid.3.gz %%MAN3%%man/man3/EVP_PKEY_get_raw_private_key.3.gz %%MAN3%%man/man3/EVP_PKEY_get_raw_public_key.3.gz %%MAN3%%man/man3/EVP_PKEY_id.3.gz %%MAN3%%man/man3/EVP_PKEY_keygen.3.gz %%MAN3%%man/man3/EVP_PKEY_keygen_init.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_add0.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_copy.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_find.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_free.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get0.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get0_info.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_check.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_cleanup.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_copy.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_count.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_ctrl.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_decrypt.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_derive.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_digest_custom.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_digestsign.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_digestverify.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_encrypt.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_init.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_keygen.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_param_check.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_paramgen.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_public_check.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_sign.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_signctx.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_verify.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_verify_recover.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_get_verifyctx.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_new.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_remove.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_check.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_cleanup.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_copy.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_ctrl.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_decrypt.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_derive.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_digest_custom.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_digestsign.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_digestverify.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_encrypt.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_init.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_keygen.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_param_check.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_paramgen.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_public_check.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_sign.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_signctx.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_verify.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_verify_recover.3.gz %%MAN3%%man/man3/EVP_PKEY_meth_set_verifyctx.3.gz %%MAN3%%man/man3/EVP_PKEY_missing_parameters.3.gz %%MAN3%%man/man3/EVP_PKEY_new.3.gz %%MAN3%%man/man3/EVP_PKEY_new_CMAC_key.3.gz %%MAN3%%man/man3/EVP_PKEY_new_mac_key.3.gz %%MAN3%%man/man3/EVP_PKEY_new_raw_private_key.3.gz %%MAN3%%man/man3/EVP_PKEY_new_raw_public_key.3.gz %%MAN3%%man/man3/EVP_PKEY_param_check.3.gz %%MAN3%%man/man3/EVP_PKEY_paramgen.3.gz %%MAN3%%man/man3/EVP_PKEY_paramgen_init.3.gz %%MAN3%%man/man3/EVP_PKEY_print_params.3.gz %%MAN3%%man/man3/EVP_PKEY_print_private.3.gz %%MAN3%%man/man3/EVP_PKEY_print_public.3.gz %%MAN3%%man/man3/EVP_PKEY_public_check.3.gz %%MAN3%%man/man3/EVP_PKEY_security_bits.3.gz %%MAN3%%man/man3/EVP_PKEY_set1_DH.3.gz %%MAN3%%man/man3/EVP_PKEY_set1_DSA.3.gz %%MAN3%%man/man3/EVP_PKEY_set1_EC_KEY.3.gz %%MAN3%%man/man3/EVP_PKEY_set1_RSA.3.gz %%MAN3%%man/man3/EVP_PKEY_set1_engine.3.gz %%MAN3%%man/man3/EVP_PKEY_set_alias_type.3.gz %%MAN3%%man/man3/EVP_PKEY_sign.3.gz %%MAN3%%man/man3/EVP_PKEY_sign_init.3.gz %%MAN3%%man/man3/EVP_PKEY_size.3.gz %%MAN3%%man/man3/EVP_PKEY_type.3.gz %%MAN3%%man/man3/EVP_PKEY_up_ref.3.gz %%MAN3%%man/man3/EVP_PKEY_verify.3.gz %%MAN3%%man/man3/EVP_PKEY_verify_init.3.gz %%MAN3%%man/man3/EVP_PKEY_verify_recover.3.gz %%MAN3%%man/man3/EVP_PKEY_verify_recover_init.3.gz %%MAN3%%man/man3/EVP_SealFinal.3.gz %%MAN3%%man/man3/EVP_SealInit.3.gz %%MAN3%%man/man3/EVP_SealUpdate.3.gz %%MAN3%%man/man3/EVP_SignFinal.3.gz %%MAN3%%man/man3/EVP_SignInit.3.gz %%MAN3%%man/man3/EVP_SignInit_ex.3.gz %%MAN3%%man/man3/EVP_SignUpdate.3.gz %%MAN3%%man/man3/EVP_VerifyFinal.3.gz %%MAN3%%man/man3/EVP_VerifyInit.3.gz %%MAN3%%man/man3/EVP_VerifyInit_ex.3.gz %%MAN3%%man/man3/EVP_VerifyUpdate.3.gz %%MAN3%%man/man3/EVP_aes.3.gz %%MAN3%%man/man3/EVP_aes_128_cbc.3.gz %%MAN3%%man/man3/EVP_aes_128_cbc_hmac_sha1.3.gz %%MAN3%%man/man3/EVP_aes_128_cbc_hmac_sha256.3.gz %%MAN3%%man/man3/EVP_aes_128_ccm.3.gz %%MAN3%%man/man3/EVP_aes_128_cfb.3.gz %%MAN3%%man/man3/EVP_aes_128_cfb1.3.gz %%MAN3%%man/man3/EVP_aes_128_cfb128.3.gz %%MAN3%%man/man3/EVP_aes_128_cfb8.3.gz %%MAN3%%man/man3/EVP_aes_128_ctr.3.gz %%MAN3%%man/man3/EVP_aes_128_ecb.3.gz %%MAN3%%man/man3/EVP_aes_128_gcm.3.gz %%MAN3%%man/man3/EVP_aes_128_ocb.3.gz %%MAN3%%man/man3/EVP_aes_128_ofb.3.gz %%MAN3%%man/man3/EVP_aes_128_wrap.3.gz %%MAN3%%man/man3/EVP_aes_128_wrap_pad.3.gz %%MAN3%%man/man3/EVP_aes_128_xts.3.gz %%MAN3%%man/man3/EVP_aes_192_cbc.3.gz %%MAN3%%man/man3/EVP_aes_192_ccm.3.gz %%MAN3%%man/man3/EVP_aes_192_cfb.3.gz %%MAN3%%man/man3/EVP_aes_192_cfb1.3.gz %%MAN3%%man/man3/EVP_aes_192_cfb128.3.gz %%MAN3%%man/man3/EVP_aes_192_cfb8.3.gz %%MAN3%%man/man3/EVP_aes_192_ctr.3.gz %%MAN3%%man/man3/EVP_aes_192_ecb.3.gz %%MAN3%%man/man3/EVP_aes_192_gcm.3.gz %%MAN3%%man/man3/EVP_aes_192_ocb.3.gz %%MAN3%%man/man3/EVP_aes_192_ofb.3.gz %%MAN3%%man/man3/EVP_aes_192_wrap.3.gz %%MAN3%%man/man3/EVP_aes_192_wrap_pad.3.gz %%MAN3%%man/man3/EVP_aes_256_cbc.3.gz %%MAN3%%man/man3/EVP_aes_256_cbc_hmac_sha1.3.gz %%MAN3%%man/man3/EVP_aes_256_cbc_hmac_sha256.3.gz %%MAN3%%man/man3/EVP_aes_256_ccm.3.gz %%MAN3%%man/man3/EVP_aes_256_cfb.3.gz %%MAN3%%man/man3/EVP_aes_256_cfb1.3.gz %%MAN3%%man/man3/EVP_aes_256_cfb128.3.gz %%MAN3%%man/man3/EVP_aes_256_cfb8.3.gz %%MAN3%%man/man3/EVP_aes_256_ctr.3.gz %%MAN3%%man/man3/EVP_aes_256_ecb.3.gz %%MAN3%%man/man3/EVP_aes_256_gcm.3.gz %%MAN3%%man/man3/EVP_aes_256_ocb.3.gz %%MAN3%%man/man3/EVP_aes_256_ofb.3.gz %%MAN3%%man/man3/EVP_aes_256_wrap.3.gz %%MAN3%%man/man3/EVP_aes_256_wrap_pad.3.gz %%MAN3%%man/man3/EVP_aes_256_xts.3.gz %%MAN3%%man/man3/EVP_aria.3.gz %%MAN3%%man/man3/EVP_aria_128_cbc.3.gz %%MAN3%%man/man3/EVP_aria_128_ccm.3.gz %%MAN3%%man/man3/EVP_aria_128_cfb.3.gz %%MAN3%%man/man3/EVP_aria_128_cfb1.3.gz %%MAN3%%man/man3/EVP_aria_128_cfb128.3.gz %%MAN3%%man/man3/EVP_aria_128_cfb8.3.gz %%MAN3%%man/man3/EVP_aria_128_ctr.3.gz %%MAN3%%man/man3/EVP_aria_128_ecb.3.gz %%MAN3%%man/man3/EVP_aria_128_gcm.3.gz %%MAN3%%man/man3/EVP_aria_128_ofb.3.gz %%MAN3%%man/man3/EVP_aria_192_cbc.3.gz %%MAN3%%man/man3/EVP_aria_192_ccm.3.gz %%MAN3%%man/man3/EVP_aria_192_cfb.3.gz %%MAN3%%man/man3/EVP_aria_192_cfb1.3.gz %%MAN3%%man/man3/EVP_aria_192_cfb128.3.gz %%MAN3%%man/man3/EVP_aria_192_cfb8.3.gz %%MAN3%%man/man3/EVP_aria_192_ctr.3.gz %%MAN3%%man/man3/EVP_aria_192_ecb.3.gz %%MAN3%%man/man3/EVP_aria_192_gcm.3.gz %%MAN3%%man/man3/EVP_aria_192_ofb.3.gz %%MAN3%%man/man3/EVP_aria_256_cbc.3.gz %%MAN3%%man/man3/EVP_aria_256_ccm.3.gz %%MAN3%%man/man3/EVP_aria_256_cfb.3.gz %%MAN3%%man/man3/EVP_aria_256_cfb1.3.gz %%MAN3%%man/man3/EVP_aria_256_cfb128.3.gz %%MAN3%%man/man3/EVP_aria_256_cfb8.3.gz %%MAN3%%man/man3/EVP_aria_256_ctr.3.gz %%MAN3%%man/man3/EVP_aria_256_ecb.3.gz %%MAN3%%man/man3/EVP_aria_256_gcm.3.gz %%MAN3%%man/man3/EVP_aria_256_ofb.3.gz %%MAN3%%man/man3/EVP_bf_cbc.3.gz %%MAN3%%man/man3/EVP_bf_cfb.3.gz %%MAN3%%man/man3/EVP_bf_cfb64.3.gz %%MAN3%%man/man3/EVP_bf_ecb.3.gz %%MAN3%%man/man3/EVP_bf_ofb.3.gz %%MAN3%%man/man3/EVP_blake2b512.3.gz %%MAN3%%man/man3/EVP_blake2s256.3.gz %%MAN3%%man/man3/EVP_camellia.3.gz %%MAN3%%man/man3/EVP_camellia_128_cbc.3.gz %%MAN3%%man/man3/EVP_camellia_128_cfb.3.gz %%MAN3%%man/man3/EVP_camellia_128_cfb1.3.gz %%MAN3%%man/man3/EVP_camellia_128_cfb128.3.gz %%MAN3%%man/man3/EVP_camellia_128_cfb8.3.gz %%MAN3%%man/man3/EVP_camellia_128_ctr.3.gz %%MAN3%%man/man3/EVP_camellia_128_ecb.3.gz %%MAN3%%man/man3/EVP_camellia_128_ofb.3.gz %%MAN3%%man/man3/EVP_camellia_192_cbc.3.gz %%MAN3%%man/man3/EVP_camellia_192_cfb.3.gz %%MAN3%%man/man3/EVP_camellia_192_cfb1.3.gz %%MAN3%%man/man3/EVP_camellia_192_cfb128.3.gz %%MAN3%%man/man3/EVP_camellia_192_cfb8.3.gz %%MAN3%%man/man3/EVP_camellia_192_ctr.3.gz %%MAN3%%man/man3/EVP_camellia_192_ecb.3.gz %%MAN3%%man/man3/EVP_camellia_192_ofb.3.gz %%MAN3%%man/man3/EVP_camellia_256_cbc.3.gz %%MAN3%%man/man3/EVP_camellia_256_cfb.3.gz %%MAN3%%man/man3/EVP_camellia_256_cfb1.3.gz %%MAN3%%man/man3/EVP_camellia_256_cfb128.3.gz %%MAN3%%man/man3/EVP_camellia_256_cfb8.3.gz %%MAN3%%man/man3/EVP_camellia_256_ctr.3.gz %%MAN3%%man/man3/EVP_camellia_256_ecb.3.gz %%MAN3%%man/man3/EVP_camellia_256_ofb.3.gz %%MAN3%%man/man3/EVP_cast5_cbc.3.gz %%MAN3%%man/man3/EVP_cast5_cfb.3.gz %%MAN3%%man/man3/EVP_cast5_cfb64.3.gz %%MAN3%%man/man3/EVP_cast5_ecb.3.gz %%MAN3%%man/man3/EVP_cast5_ofb.3.gz %%MAN3%%man/man3/EVP_chacha20.3.gz %%MAN3%%man/man3/EVP_chacha20_poly1305.3.gz %%MAN3%%man/man3/EVP_cleanup.3.gz %%MAN3%%man/man3/EVP_des.3.gz %%MAN3%%man/man3/EVP_des_cbc.3.gz %%MAN3%%man/man3/EVP_des_cfb.3.gz %%MAN3%%man/man3/EVP_des_cfb1.3.gz %%MAN3%%man/man3/EVP_des_cfb64.3.gz %%MAN3%%man/man3/EVP_des_cfb8.3.gz %%MAN3%%man/man3/EVP_des_ecb.3.gz %%MAN3%%man/man3/EVP_des_ede.3.gz %%MAN3%%man/man3/EVP_des_ede3.3.gz %%MAN3%%man/man3/EVP_des_ede3_cbc.3.gz %%MAN3%%man/man3/EVP_des_ede3_cfb.3.gz %%MAN3%%man/man3/EVP_des_ede3_cfb1.3.gz %%MAN3%%man/man3/EVP_des_ede3_cfb64.3.gz %%MAN3%%man/man3/EVP_des_ede3_cfb8.3.gz %%MAN3%%man/man3/EVP_des_ede3_ecb.3.gz %%MAN3%%man/man3/EVP_des_ede3_ofb.3.gz %%MAN3%%man/man3/EVP_des_ede3_wrap.3.gz %%MAN3%%man/man3/EVP_des_ede_cbc.3.gz %%MAN3%%man/man3/EVP_des_ede_cfb.3.gz %%MAN3%%man/man3/EVP_des_ede_cfb64.3.gz %%MAN3%%man/man3/EVP_des_ede_ecb.3.gz %%MAN3%%man/man3/EVP_des_ede_ofb.3.gz %%MAN3%%man/man3/EVP_des_ofb.3.gz %%MAN3%%man/man3/EVP_desx_cbc.3.gz %%MAN3%%man/man3/EVP_enc_null.3.gz %%MAN3%%man/man3/EVP_get_cipherbyname.3.gz %%MAN3%%man/man3/EVP_get_cipherbynid.3.gz %%MAN3%%man/man3/EVP_get_cipherbyobj.3.gz %%MAN3%%man/man3/EVP_get_digestbyname.3.gz %%MAN3%%man/man3/EVP_get_digestbynid.3.gz %%MAN3%%man/man3/EVP_get_digestbyobj.3.gz %%MAN3%%man/man3/EVP_idea_cbc.3.gz %%MAN3%%man/man3/EVP_idea_cfb.3.gz %%MAN3%%man/man3/EVP_idea_cfb64.3.gz %%MAN3%%man/man3/EVP_idea_ecb.3.gz %%MAN3%%man/man3/EVP_idea_ofb.3.gz %%MAN3%%man/man3/EVP_md2.3.gz %%MAN3%%man/man3/EVP_md4.3.gz %%MAN3%%man/man3/EVP_md5.3.gz %%MAN3%%man/man3/EVP_md5_sha1.3.gz %%MAN3%%man/man3/EVP_md_null.3.gz %%MAN3%%man/man3/EVP_mdc2.3.gz %%MAN3%%man/man3/EVP_rc2_40_cbc.3.gz %%MAN3%%man/man3/EVP_rc2_64_cbc.3.gz %%MAN3%%man/man3/EVP_rc2_cbc.3.gz %%MAN3%%man/man3/EVP_rc2_cfb.3.gz %%MAN3%%man/man3/EVP_rc2_cfb64.3.gz %%MAN3%%man/man3/EVP_rc2_ecb.3.gz %%MAN3%%man/man3/EVP_rc2_ofb.3.gz %%MAN3%%man/man3/EVP_rc4.3.gz %%MAN3%%man/man3/EVP_rc4_40.3.gz %%MAN3%%man/man3/EVP_rc4_hmac_md5.3.gz %%MAN3%%man/man3/EVP_rc5_32_12_16_cbc.3.gz %%MAN3%%man/man3/EVP_rc5_32_12_16_cfb.3.gz %%MAN3%%man/man3/EVP_rc5_32_12_16_cfb64.3.gz %%MAN3%%man/man3/EVP_rc5_32_12_16_ecb.3.gz %%MAN3%%man/man3/EVP_rc5_32_12_16_ofb.3.gz %%MAN3%%man/man3/EVP_ripemd160.3.gz %%MAN3%%man/man3/EVP_seed_cbc.3.gz %%MAN3%%man/man3/EVP_seed_cfb.3.gz %%MAN3%%man/man3/EVP_seed_cfb128.3.gz %%MAN3%%man/man3/EVP_seed_ecb.3.gz %%MAN3%%man/man3/EVP_seed_ofb.3.gz %%MAN3%%man/man3/EVP_sha1.3.gz %%MAN3%%man/man3/EVP_sha224.3.gz %%MAN3%%man/man3/EVP_sha256.3.gz %%MAN3%%man/man3/EVP_sha384.3.gz %%MAN3%%man/man3/EVP_sha3_224.3.gz %%MAN3%%man/man3/EVP_sha3_256.3.gz %%MAN3%%man/man3/EVP_sha3_384.3.gz %%MAN3%%man/man3/EVP_sha3_512.3.gz %%MAN3%%man/man3/EVP_sha512.3.gz %%MAN3%%man/man3/EVP_sha512_224.3.gz %%MAN3%%man/man3/EVP_sha512_256.3.gz %%MAN3%%man/man3/EVP_shake128.3.gz %%MAN3%%man/man3/EVP_shake256.3.gz %%MAN3%%man/man3/EVP_sm3.3.gz %%MAN3%%man/man3/EVP_sm4_cbc.3.gz %%MAN3%%man/man3/EVP_sm4_cfb.3.gz %%MAN3%%man/man3/EVP_sm4_cfb128.3.gz %%MAN3%%man/man3/EVP_sm4_ctr.3.gz %%MAN3%%man/man3/EVP_sm4_ecb.3.gz %%MAN3%%man/man3/EVP_sm4_ofb.3.gz %%MAN3%%man/man3/EVP_whirlpool.3.gz %%MAN3%%man/man3/EXTENDED_KEY_USAGE_free.3.gz %%MAN3%%man/man3/EXTENDED_KEY_USAGE_new.3.gz %%MAN3%%man/man3/GENERAL_NAMES_free.3.gz %%MAN3%%man/man3/GENERAL_NAMES_new.3.gz %%MAN3%%man/man3/GENERAL_NAME_dup.3.gz %%MAN3%%man/man3/GENERAL_NAME_free.3.gz %%MAN3%%man/man3/GENERAL_NAME_new.3.gz %%MAN3%%man/man3/GENERAL_SUBTREE_free.3.gz %%MAN3%%man/man3/GENERAL_SUBTREE_new.3.gz %%MAN3%%man/man3/GEN_SESSION_CB.3.gz %%MAN3%%man/man3/HMAC.3.gz %%MAN3%%man/man3/HMAC_CTX_copy.3.gz %%MAN3%%man/man3/HMAC_CTX_free.3.gz %%MAN3%%man/man3/HMAC_CTX_get_md.3.gz %%MAN3%%man/man3/HMAC_CTX_new.3.gz %%MAN3%%man/man3/HMAC_CTX_reset.3.gz %%MAN3%%man/man3/HMAC_CTX_set_flags.3.gz %%MAN3%%man/man3/HMAC_Final.3.gz %%MAN3%%man/man3/HMAC_Init.3.gz %%MAN3%%man/man3/HMAC_Init_ex.3.gz %%MAN3%%man/man3/HMAC_Update.3.gz %%MAN3%%man/man3/HMAC_size.3.gz %%MAN3%%man/man3/IMPLEMENT_ASN1_FUNCTIONS.3.gz %%MAN3%%man/man3/IMPLEMENT_LHASH_COMP_FN.3.gz %%MAN3%%man/man3/IMPLEMENT_LHASH_HASH_FN.3.gz %%MAN3%%man/man3/IPAddressChoice_free.3.gz %%MAN3%%man/man3/IPAddressChoice_new.3.gz %%MAN3%%man/man3/IPAddressFamily_free.3.gz %%MAN3%%man/man3/IPAddressFamily_new.3.gz %%MAN3%%man/man3/IPAddressOrRange_free.3.gz %%MAN3%%man/man3/IPAddressOrRange_new.3.gz %%MAN3%%man/man3/IPAddressRange_free.3.gz %%MAN3%%man/man3/IPAddressRange_new.3.gz %%MAN3%%man/man3/ISSUING_DIST_POINT_free.3.gz %%MAN3%%man/man3/ISSUING_DIST_POINT_new.3.gz %%MAN3%%man/man3/LHASH.3.gz %%MAN3%%man/man3/LHASH_DOALL_ARG_FN_TYPE.3.gz %%MAN3%%man/man3/MD2.3.gz %%MAN3%%man/man3/MD2_Final.3.gz %%MAN3%%man/man3/MD2_Init.3.gz %%MAN3%%man/man3/MD2_Update.3.gz %%MAN3%%man/man3/MD4.3.gz %%MAN3%%man/man3/MD4_Final.3.gz %%MAN3%%man/man3/MD4_Init.3.gz %%MAN3%%man/man3/MD4_Update.3.gz %%MAN3%%man/man3/MD5.3.gz %%MAN3%%man/man3/MD5_Final.3.gz %%MAN3%%man/man3/MD5_Init.3.gz %%MAN3%%man/man3/MD5_Update.3.gz %%MAN3%%man/man3/MDC2.3.gz %%MAN3%%man/man3/MDC2_Final.3.gz %%MAN3%%man/man3/MDC2_Init.3.gz %%MAN3%%man/man3/MDC2_Update.3.gz %%MAN3%%man/man3/NAME_CONSTRAINTS_free.3.gz %%MAN3%%man/man3/NAME_CONSTRAINTS_new.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_free.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_get0_authorityId.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_get0_authorityText.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_get0_authorityURL.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_new.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_set0_authorityId.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_set0_authorityText.3.gz %%MAN3%%man/man3/NAMING_AUTHORITY_set0_authorityURL.3.gz %%MAN3%%man/man3/NETSCAPE_CERT_SEQUENCE_free.3.gz %%MAN3%%man/man3/NETSCAPE_CERT_SEQUENCE_new.3.gz %%MAN3%%man/man3/NETSCAPE_SPKAC_free.3.gz %%MAN3%%man/man3/NETSCAPE_SPKAC_new.3.gz %%MAN3%%man/man3/NETSCAPE_SPKI_free.3.gz %%MAN3%%man/man3/NETSCAPE_SPKI_new.3.gz %%MAN3%%man/man3/NOTICEREF_free.3.gz %%MAN3%%man/man3/NOTICEREF_new.3.gz %%MAN3%%man/man3/OBJ_cleanup.3.gz %%MAN3%%man/man3/OBJ_cmp.3.gz %%MAN3%%man/man3/OBJ_create.3.gz %%MAN3%%man/man3/OBJ_dup.3.gz %%MAN3%%man/man3/OBJ_get0_data.3.gz %%MAN3%%man/man3/OBJ_length.3.gz %%MAN3%%man/man3/OBJ_ln2nid.3.gz %%MAN3%%man/man3/OBJ_nid2ln.3.gz %%MAN3%%man/man3/OBJ_nid2obj.3.gz %%MAN3%%man/man3/OBJ_nid2sn.3.gz %%MAN3%%man/man3/OBJ_obj2nid.3.gz %%MAN3%%man/man3/OBJ_obj2txt.3.gz %%MAN3%%man/man3/OBJ_sn2nid.3.gz %%MAN3%%man/man3/OBJ_txt2nid.3.gz %%MAN3%%man/man3/OBJ_txt2obj.3.gz %%MAN3%%man/man3/OCSP_BASICRESP_free.3.gz %%MAN3%%man/man3/OCSP_BASICRESP_new.3.gz %%MAN3%%man/man3/OCSP_CERTID_dup.3.gz %%MAN3%%man/man3/OCSP_CERTID_free.3.gz %%MAN3%%man/man3/OCSP_CERTID_new.3.gz %%MAN3%%man/man3/OCSP_CERTSTATUS_free.3.gz %%MAN3%%man/man3/OCSP_CERTSTATUS_new.3.gz %%MAN3%%man/man3/OCSP_CRLID_free.3.gz %%MAN3%%man/man3/OCSP_CRLID_new.3.gz %%MAN3%%man/man3/OCSP_ONEREQ_free.3.gz %%MAN3%%man/man3/OCSP_ONEREQ_new.3.gz %%MAN3%%man/man3/OCSP_REQINFO_free.3.gz %%MAN3%%man/man3/OCSP_REQINFO_new.3.gz %%MAN3%%man/man3/OCSP_REQUEST_free.3.gz %%MAN3%%man/man3/OCSP_REQUEST_new.3.gz %%MAN3%%man/man3/OCSP_REQ_CTX_add1_header.3.gz %%MAN3%%man/man3/OCSP_REQ_CTX_free.3.gz %%MAN3%%man/man3/OCSP_REQ_CTX_i2d.3.gz %%MAN3%%man/man3/OCSP_REQ_CTX_set1_req.3.gz %%MAN3%%man/man3/OCSP_RESPBYTES_free.3.gz %%MAN3%%man/man3/OCSP_RESPBYTES_new.3.gz %%MAN3%%man/man3/OCSP_RESPDATA_free.3.gz %%MAN3%%man/man3/OCSP_RESPDATA_new.3.gz %%MAN3%%man/man3/OCSP_RESPID_free.3.gz %%MAN3%%man/man3/OCSP_RESPID_match.3.gz %%MAN3%%man/man3/OCSP_RESPID_new.3.gz %%MAN3%%man/man3/OCSP_RESPID_set_by_key.3.gz %%MAN3%%man/man3/OCSP_RESPID_set_by_name.3.gz %%MAN3%%man/man3/OCSP_RESPONSE_free.3.gz %%MAN3%%man/man3/OCSP_RESPONSE_new.3.gz %%MAN3%%man/man3/OCSP_REVOKEDINFO_free.3.gz %%MAN3%%man/man3/OCSP_REVOKEDINFO_new.3.gz %%MAN3%%man/man3/OCSP_SERVICELOC_free.3.gz %%MAN3%%man/man3/OCSP_SERVICELOC_new.3.gz %%MAN3%%man/man3/OCSP_SIGNATURE_free.3.gz %%MAN3%%man/man3/OCSP_SIGNATURE_new.3.gz %%MAN3%%man/man3/OCSP_SINGLERESP_free.3.gz %%MAN3%%man/man3/OCSP_SINGLERESP_new.3.gz %%MAN3%%man/man3/OCSP_basic_add1_nonce.3.gz %%MAN3%%man/man3/OCSP_basic_sign.3.gz %%MAN3%%man/man3/OCSP_basic_sign_ctx.3.gz %%MAN3%%man/man3/OCSP_basic_verify.3.gz %%MAN3%%man/man3/OCSP_cert_id_new.3.gz %%MAN3%%man/man3/OCSP_cert_to_id.3.gz %%MAN3%%man/man3/OCSP_check_nonce.3.gz %%MAN3%%man/man3/OCSP_check_validity.3.gz %%MAN3%%man/man3/OCSP_copy_nonce.3.gz %%MAN3%%man/man3/OCSP_id_cmp.3.gz %%MAN3%%man/man3/OCSP_id_get0_info.3.gz %%MAN3%%man/man3/OCSP_id_issuer_cmp.3.gz %%MAN3%%man/man3/OCSP_request_add0_id.3.gz %%MAN3%%man/man3/OCSP_request_add1_cert.3.gz %%MAN3%%man/man3/OCSP_request_add1_nonce.3.gz %%MAN3%%man/man3/OCSP_request_onereq_count.3.gz %%MAN3%%man/man3/OCSP_request_onereq_get0.3.gz %%MAN3%%man/man3/OCSP_request_sign.3.gz %%MAN3%%man/man3/OCSP_resp_count.3.gz %%MAN3%%man/man3/OCSP_resp_find.3.gz %%MAN3%%man/man3/OCSP_resp_find_status.3.gz %%MAN3%%man/man3/OCSP_resp_get0.3.gz %%MAN3%%man/man3/OCSP_resp_get0_certs.3.gz %%MAN3%%man/man3/OCSP_resp_get0_id.3.gz %%MAN3%%man/man3/OCSP_resp_get0_produced_at.3.gz %%MAN3%%man/man3/OCSP_resp_get0_respdata.3.gz %%MAN3%%man/man3/OCSP_resp_get0_signature.3.gz %%MAN3%%man/man3/OCSP_resp_get0_signer.3.gz %%MAN3%%man/man3/OCSP_resp_get0_tbs_sigalg.3.gz %%MAN3%%man/man3/OCSP_resp_get1_id.3.gz %%MAN3%%man/man3/OCSP_response_create.3.gz %%MAN3%%man/man3/OCSP_response_get1_basic.3.gz %%MAN3%%man/man3/OCSP_response_status.3.gz %%MAN3%%man/man3/OCSP_sendreq_bio.3.gz %%MAN3%%man/man3/OCSP_sendreq_nbio.3.gz %%MAN3%%man/man3/OCSP_sendreq_new.3.gz %%MAN3%%man/man3/OCSP_set_max_response_length.3.gz %%MAN3%%man/man3/OCSP_single_get0_status.3.gz %%MAN3%%man/man3/OPENSSL_Applink.3.gz %%MAN3%%man/man3/OPENSSL_INIT_free.3.gz %%MAN3%%man/man3/OPENSSL_INIT_new.3.gz %%MAN3%%man/man3/OPENSSL_INIT_set_config_appname.3.gz %%MAN3%%man/man3/OPENSSL_INIT_set_config_file_flags.3.gz %%MAN3%%man/man3/OPENSSL_INIT_set_config_filename.3.gz %%MAN3%%man/man3/OPENSSL_LH_COMPFUNC.3.gz %%MAN3%%man/man3/OPENSSL_LH_DOALL_FUNC.3.gz %%MAN3%%man/man3/OPENSSL_LH_HASHFUNC.3.gz %%MAN3%%man/man3/OPENSSL_LH_node_stats.3.gz %%MAN3%%man/man3/OPENSSL_LH_node_stats_bio.3.gz %%MAN3%%man/man3/OPENSSL_LH_node_usage_stats.3.gz %%MAN3%%man/man3/OPENSSL_LH_node_usage_stats_bio.3.gz %%MAN3%%man/man3/OPENSSL_LH_stats.3.gz %%MAN3%%man/man3/OPENSSL_LH_stats_bio.3.gz %%MAN3%%man/man3/OPENSSL_MALLOC_FAILURES.3.gz %%MAN3%%man/man3/OPENSSL_MALLOC_FD.3.gz %%MAN3%%man/man3/OPENSSL_VERSION_NUMBER.3.gz %%MAN3%%man/man3/OPENSSL_VERSION_TEXT.3.gz %%MAN3%%man/man3/OPENSSL_atexit.3.gz %%MAN3%%man/man3/OPENSSL_buf2hexstr.3.gz %%MAN3%%man/man3/OPENSSL_cipher_name.3.gz %%MAN3%%man/man3/OPENSSL_cleanse.3.gz %%MAN3%%man/man3/OPENSSL_cleanup.3.gz %%MAN3%%man/man3/OPENSSL_clear_free.3.gz %%MAN3%%man/man3/OPENSSL_clear_realloc.3.gz %%MAN3%%man/man3/OPENSSL_config.3.gz %%MAN3%%man/man3/OPENSSL_fork_child.3.gz %%MAN3%%man/man3/OPENSSL_fork_parent.3.gz %%MAN3%%man/man3/OPENSSL_fork_prepare.3.gz %%MAN3%%man/man3/OPENSSL_free.3.gz %%MAN3%%man/man3/OPENSSL_hexchar2int.3.gz %%MAN3%%man/man3/OPENSSL_hexstr2buf.3.gz %%MAN3%%man/man3/OPENSSL_ia32cap.3.gz %%MAN3%%man/man3/OPENSSL_init_crypto.3.gz %%MAN3%%man/man3/OPENSSL_init_ssl.3.gz %%MAN3%%man/man3/OPENSSL_instrument_bus.3.gz %%MAN3%%man/man3/OPENSSL_instrument_bus2.3.gz %%MAN3%%man/man3/OPENSSL_load_builtin_modules.3.gz %%MAN3%%man/man3/OPENSSL_malloc.3.gz %%MAN3%%man/man3/OPENSSL_malloc_init.3.gz %%MAN3%%man/man3/OPENSSL_mem_debug_pop.3.gz %%MAN3%%man/man3/OPENSSL_mem_debug_push.3.gz %%MAN3%%man/man3/OPENSSL_memdup.3.gz %%MAN3%%man/man3/OPENSSL_no_config.3.gz %%MAN3%%man/man3/OPENSSL_realloc.3.gz %%MAN3%%man/man3/OPENSSL_secure_actual_size.3.gz %%MAN3%%man/man3/OPENSSL_secure_clear_free.3.gz %%MAN3%%man/man3/OPENSSL_secure_free.3.gz %%MAN3%%man/man3/OPENSSL_secure_malloc.3.gz %%MAN3%%man/man3/OPENSSL_secure_zalloc.3.gz %%MAN3%%man/man3/OPENSSL_strdup.3.gz %%MAN3%%man/man3/OPENSSL_strlcat.3.gz %%MAN3%%man/man3/OPENSSL_strlcpy.3.gz %%MAN3%%man/man3/OPENSSL_strndup.3.gz %%MAN3%%man/man3/OPENSSL_thread_stop.3.gz %%MAN3%%man/man3/OPENSSL_zalloc.3.gz %%MAN3%%man/man3/OSSL_STORE_CTX.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_free.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get0_CERT.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get0_CRL.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get0_NAME.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get0_NAME_description.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get0_PARAMS.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get0_PKEY.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get1_CERT.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get1_CRL.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get1_NAME.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get1_NAME_description.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get1_PARAMS.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get1_PKEY.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_get_type.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_new_CERT.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_new_CRL.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_new_NAME.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_new_PARAMS.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_new_PKEY.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_set0_NAME_description.3.gz %%MAN3%%man/man3/OSSL_STORE_INFO_type_string.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_CTX.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_free.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_get0_engine.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_get0_scheme.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_new.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_close.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_ctrl.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_eof.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_error.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_expect.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_find.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_load.3.gz %%MAN3%%man/man3/OSSL_STORE_LOADER_set_open.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_by_alias.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_by_issuer_serial.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_by_key_fingerprint.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_by_name.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_free.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_get0_bytes.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_get0_digest.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_get0_name.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_get0_serial.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_get0_string.3.gz %%MAN3%%man/man3/OSSL_STORE_SEARCH_get_type.3.gz %%MAN3%%man/man3/OSSL_STORE_close.3.gz %%MAN3%%man/man3/OSSL_STORE_close_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_ctrl.3.gz %%MAN3%%man/man3/OSSL_STORE_ctrl_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_eof.3.gz %%MAN3%%man/man3/OSSL_STORE_eof_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_error.3.gz %%MAN3%%man/man3/OSSL_STORE_error_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_expect.3.gz %%MAN3%%man/man3/OSSL_STORE_expect_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_find.3.gz %%MAN3%%man/man3/OSSL_STORE_find_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_load.3.gz %%MAN3%%man/man3/OSSL_STORE_load_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_open.3.gz %%MAN3%%man/man3/OSSL_STORE_open_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_post_process_info_fn.3.gz %%MAN3%%man/man3/OSSL_STORE_register_loader.3.gz %%MAN3%%man/man3/OSSL_STORE_supports_search.3.gz %%MAN3%%man/man3/OSSL_STORE_unregister_loader.3.gz %%MAN3%%man/man3/OTHERNAME_free.3.gz %%MAN3%%man/man3/OTHERNAME_new.3.gz %%MAN3%%man/man3/OpenSSL_add_all_algorithms.3.gz %%MAN3%%man/man3/OpenSSL_add_all_ciphers.3.gz %%MAN3%%man/man3/OpenSSL_add_all_digests.3.gz %%MAN3%%man/man3/OpenSSL_add_ssl_algorithms.3.gz %%MAN3%%man/man3/OpenSSL_version.3.gz %%MAN3%%man/man3/OpenSSL_version_num.3.gz %%MAN3%%man/man3/PBE2PARAM_free.3.gz %%MAN3%%man/man3/PBE2PARAM_new.3.gz %%MAN3%%man/man3/PBEPARAM_free.3.gz %%MAN3%%man/man3/PBEPARAM_new.3.gz %%MAN3%%man/man3/PBKDF2PARAM_free.3.gz %%MAN3%%man/man3/PBKDF2PARAM_new.3.gz %%MAN3%%man/man3/PEM_FLAG_EAY_COMPATIBLE.3.gz %%MAN3%%man/man3/PEM_FLAG_ONLY_B64.3.gz %%MAN3%%man/man3/PEM_FLAG_SECURE.3.gz %%MAN3%%man/man3/PEM_bytes_read_bio.3.gz %%MAN3%%man/man3/PEM_bytes_read_bio_secmem.3.gz %%MAN3%%man/man3/PEM_do_header.3.gz %%MAN3%%man/man3/PEM_get_EVP_CIPHER_INFO.3.gz %%MAN3%%man/man3/PEM_read.3.gz %%MAN3%%man/man3/PEM_read_CMS.3.gz %%MAN3%%man/man3/PEM_read_DHparams.3.gz %%MAN3%%man/man3/PEM_read_DSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_read_DSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_DSAparams.3.gz %%MAN3%%man/man3/PEM_read_ECPKParameters.3.gz %%MAN3%%man/man3/PEM_read_ECPrivateKey.3.gz %%MAN3%%man/man3/PEM_read_EC_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3.gz %%MAN3%%man/man3/PEM_read_PKCS7.3.gz %%MAN3%%man/man3/PEM_read_PKCS8.3.gz %%MAN3%%man/man3/PEM_read_PKCS8_PRIV_KEY_INFO.3.gz %%MAN3%%man/man3/PEM_read_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_PrivateKey.3.gz %%MAN3%%man/man3/PEM_read_RSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_read_RSAPublicKey.3.gz %%MAN3%%man/man3/PEM_read_RSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_SSL_SESSION.3.gz %%MAN3%%man/man3/PEM_read_X509.3.gz %%MAN3%%man/man3/PEM_read_X509_AUX.3.gz %%MAN3%%man/man3/PEM_read_X509_CRL.3.gz %%MAN3%%man/man3/PEM_read_X509_REQ.3.gz %%MAN3%%man/man3/PEM_read_bio.3.gz %%MAN3%%man/man3/PEM_read_bio_CMS.3.gz %%MAN3%%man/man3/PEM_read_bio_DHparams.3.gz %%MAN3%%man/man3/PEM_read_bio_DSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_read_bio_DSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_bio_DSAparams.3.gz %%MAN3%%man/man3/PEM_read_bio_ECPKParameters.3.gz %%MAN3%%man/man3/PEM_read_bio_EC_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3.gz %%MAN3%%man/man3/PEM_read_bio_PKCS7.3.gz %%MAN3%%man/man3/PEM_read_bio_PKCS8.3.gz %%MAN3%%man/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.3.gz %%MAN3%%man/man3/PEM_read_bio_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_bio_Parameters.3.gz %%MAN3%%man/man3/PEM_read_bio_PrivateKey.3.gz %%MAN3%%man/man3/PEM_read_bio_RSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_read_bio_RSAPublicKey.3.gz %%MAN3%%man/man3/PEM_read_bio_RSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_read_bio_SSL_SESSION.3.gz %%MAN3%%man/man3/PEM_read_bio_X509.3.gz %%MAN3%%man/man3/PEM_read_bio_X509_AUX.3.gz %%MAN3%%man/man3/PEM_read_bio_X509_CRL.3.gz %%MAN3%%man/man3/PEM_read_bio_X509_REQ.3.gz %%MAN3%%man/man3/PEM_read_bio_ex.3.gz %%MAN3%%man/man3/PEM_write.3.gz %%MAN3%%man/man3/PEM_write_CMS.3.gz %%MAN3%%man/man3/PEM_write_DHparams.3.gz %%MAN3%%man/man3/PEM_write_DHxparams.3.gz %%MAN3%%man/man3/PEM_write_DSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_write_DSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_DSAparams.3.gz %%MAN3%%man/man3/PEM_write_ECPKParameters.3.gz %%MAN3%%man/man3/PEM_write_ECPrivateKey.3.gz %%MAN3%%man/man3/PEM_write_EC_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3.gz %%MAN3%%man/man3/PEM_write_PKCS7.3.gz %%MAN3%%man/man3/PEM_write_PKCS8.3.gz %%MAN3%%man/man3/PEM_write_PKCS8PrivateKey.3.gz %%MAN3%%man/man3/PEM_write_PKCS8PrivateKey_nid.3.gz %%MAN3%%man/man3/PEM_write_PKCS8_PRIV_KEY_INFO.3.gz %%MAN3%%man/man3/PEM_write_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_PrivateKey.3.gz %%MAN3%%man/man3/PEM_write_RSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_write_RSAPublicKey.3.gz %%MAN3%%man/man3/PEM_write_RSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_SSL_SESSION.3.gz %%MAN3%%man/man3/PEM_write_X509.3.gz %%MAN3%%man/man3/PEM_write_X509_AUX.3.gz %%MAN3%%man/man3/PEM_write_X509_CRL.3.gz %%MAN3%%man/man3/PEM_write_X509_REQ.3.gz %%MAN3%%man/man3/PEM_write_X509_REQ_NEW.3.gz %%MAN3%%man/man3/PEM_write_bio.3.gz %%MAN3%%man/man3/PEM_write_bio_CMS.3.gz %%MAN3%%man/man3/PEM_write_bio_CMS_stream.3.gz %%MAN3%%man/man3/PEM_write_bio_DHparams.3.gz %%MAN3%%man/man3/PEM_write_bio_DHxparams.3.gz %%MAN3%%man/man3/PEM_write_bio_DSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_write_bio_DSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_bio_DSAparams.3.gz %%MAN3%%man/man3/PEM_write_bio_ECPKParameters.3.gz %%MAN3%%man/man3/PEM_write_bio_ECPrivateKey.3.gz %%MAN3%%man/man3/PEM_write_bio_EC_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3.gz %%MAN3%%man/man3/PEM_write_bio_PKCS7.3.gz %%MAN3%%man/man3/PEM_write_bio_PKCS7_stream.3.gz %%MAN3%%man/man3/PEM_write_bio_PKCS8.3.gz %%MAN3%%man/man3/PEM_write_bio_PKCS8PrivateKey.3.gz %%MAN3%%man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3.gz %%MAN3%%man/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.3.gz %%MAN3%%man/man3/PEM_write_bio_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_bio_Parameters.3.gz %%MAN3%%man/man3/PEM_write_bio_PrivateKey.3.gz %%MAN3%%man/man3/PEM_write_bio_PrivateKey_traditional.3.gz %%MAN3%%man/man3/PEM_write_bio_RSAPrivateKey.3.gz %%MAN3%%man/man3/PEM_write_bio_RSAPublicKey.3.gz %%MAN3%%man/man3/PEM_write_bio_RSA_PUBKEY.3.gz %%MAN3%%man/man3/PEM_write_bio_SSL_SESSION.3.gz %%MAN3%%man/man3/PEM_write_bio_X509.3.gz %%MAN3%%man/man3/PEM_write_bio_X509_AUX.3.gz %%MAN3%%man/man3/PEM_write_bio_X509_CRL.3.gz %%MAN3%%man/man3/PEM_write_bio_X509_REQ.3.gz %%MAN3%%man/man3/PEM_write_bio_X509_REQ_NEW.3.gz %%MAN3%%man/man3/PKCS12_BAGS_free.3.gz %%MAN3%%man/man3/PKCS12_BAGS_new.3.gz %%MAN3%%man/man3/PKCS12_MAC_DATA_free.3.gz %%MAN3%%man/man3/PKCS12_MAC_DATA_new.3.gz %%MAN3%%man/man3/PKCS12_SAFEBAG_free.3.gz %%MAN3%%man/man3/PKCS12_SAFEBAG_new.3.gz %%MAN3%%man/man3/PKCS12_create.3.gz %%MAN3%%man/man3/PKCS12_free.3.gz %%MAN3%%man/man3/PKCS12_new.3.gz %%MAN3%%man/man3/PKCS12_newpass.3.gz %%MAN3%%man/man3/PKCS12_parse.3.gz %%MAN3%%man/man3/PKCS5_PBKDF2_HMAC.3.gz %%MAN3%%man/man3/PKCS5_PBKDF2_HMAC_SHA1.3.gz %%MAN3%%man/man3/PKCS7_DIGEST_free.3.gz %%MAN3%%man/man3/PKCS7_DIGEST_new.3.gz %%MAN3%%man/man3/PKCS7_ENCRYPT_free.3.gz %%MAN3%%man/man3/PKCS7_ENCRYPT_new.3.gz %%MAN3%%man/man3/PKCS7_ENC_CONTENT_free.3.gz %%MAN3%%man/man3/PKCS7_ENC_CONTENT_new.3.gz %%MAN3%%man/man3/PKCS7_ENVELOPE_free.3.gz %%MAN3%%man/man3/PKCS7_ENVELOPE_new.3.gz %%MAN3%%man/man3/PKCS7_ISSUER_AND_SERIAL_digest.3.gz %%MAN3%%man/man3/PKCS7_ISSUER_AND_SERIAL_free.3.gz %%MAN3%%man/man3/PKCS7_ISSUER_AND_SERIAL_new.3.gz %%MAN3%%man/man3/PKCS7_RECIP_INFO_free.3.gz %%MAN3%%man/man3/PKCS7_RECIP_INFO_new.3.gz %%MAN3%%man/man3/PKCS7_SIGNED_free.3.gz %%MAN3%%man/man3/PKCS7_SIGNED_new.3.gz %%MAN3%%man/man3/PKCS7_SIGNER_INFO_free.3.gz %%MAN3%%man/man3/PKCS7_SIGNER_INFO_new.3.gz %%MAN3%%man/man3/PKCS7_SIGN_ENVELOPE_free.3.gz %%MAN3%%man/man3/PKCS7_SIGN_ENVELOPE_new.3.gz %%MAN3%%man/man3/PKCS7_decrypt.3.gz %%MAN3%%man/man3/PKCS7_dup.3.gz %%MAN3%%man/man3/PKCS7_encrypt.3.gz %%MAN3%%man/man3/PKCS7_free.3.gz %%MAN3%%man/man3/PKCS7_get0_signers.3.gz %%MAN3%%man/man3/PKCS7_new.3.gz %%MAN3%%man/man3/PKCS7_print_ctx.3.gz %%MAN3%%man/man3/PKCS7_sign.3.gz %%MAN3%%man/man3/PKCS7_sign_add_signer.3.gz %%MAN3%%man/man3/PKCS7_verify.3.gz %%MAN3%%man/man3/PKCS8_PRIV_KEY_INFO_free.3.gz %%MAN3%%man/man3/PKCS8_PRIV_KEY_INFO_new.3.gz %%MAN3%%man/man3/PKEY_USAGE_PERIOD_free.3.gz %%MAN3%%man/man3/PKEY_USAGE_PERIOD_new.3.gz %%MAN3%%man/man3/POLICYINFO_free.3.gz %%MAN3%%man/man3/POLICYINFO_new.3.gz %%MAN3%%man/man3/POLICYQUALINFO_free.3.gz %%MAN3%%man/man3/POLICYQUALINFO_new.3.gz %%MAN3%%man/man3/POLICY_CONSTRAINTS_free.3.gz %%MAN3%%man/man3/POLICY_CONSTRAINTS_new.3.gz %%MAN3%%man/man3/POLICY_MAPPING_free.3.gz %%MAN3%%man/man3/POLICY_MAPPING_new.3.gz %%MAN3%%man/man3/PROFESSION_INFO.3.gz %%MAN3%%man/man3/PROFESSION_INFOS.3.gz %%MAN3%%man/man3/PROFESSION_INFOS_free.3.gz %%MAN3%%man/man3/PROFESSION_INFOS_new.3.gz %%MAN3%%man/man3/PROFESSION_INFO_free.3.gz %%MAN3%%man/man3/PROFESSION_INFO_get0_addProfessionInfo.3.gz %%MAN3%%man/man3/PROFESSION_INFO_get0_namingAuthority.3.gz %%MAN3%%man/man3/PROFESSION_INFO_get0_professionItems.3.gz %%MAN3%%man/man3/PROFESSION_INFO_get0_professionOIDs.3.gz %%MAN3%%man/man3/PROFESSION_INFO_get0_registrationNumber.3.gz %%MAN3%%man/man3/PROFESSION_INFO_new.3.gz %%MAN3%%man/man3/PROFESSION_INFO_set0_addProfessionInfo.3.gz %%MAN3%%man/man3/PROFESSION_INFO_set0_namingAuthority.3.gz %%MAN3%%man/man3/PROFESSION_INFO_set0_professionItems.3.gz %%MAN3%%man/man3/PROFESSION_INFO_set0_professionOIDs.3.gz %%MAN3%%man/man3/PROFESSION_INFO_set0_registrationNumber.3.gz %%MAN3%%man/man3/PROXY_CERT_INFO_EXTENSION_free.3.gz %%MAN3%%man/man3/PROXY_CERT_INFO_EXTENSION_new.3.gz %%MAN3%%man/man3/PROXY_POLICY_free.3.gz %%MAN3%%man/man3/PROXY_POLICY_new.3.gz %%MAN3%%man/man3/RAND_DRBG_bytes.3.gz %%MAN3%%man/man3/RAND_DRBG_cleanup_entropy_fn.3.gz %%MAN3%%man/man3/RAND_DRBG_cleanup_nonce_fn.3.gz %%MAN3%%man/man3/RAND_DRBG_free.3.gz %%MAN3%%man/man3/RAND_DRBG_generate.3.gz %%MAN3%%man/man3/RAND_DRBG_get0_master.3.gz %%MAN3%%man/man3/RAND_DRBG_get0_private.3.gz %%MAN3%%man/man3/RAND_DRBG_get0_public.3.gz %%MAN3%%man/man3/RAND_DRBG_get_entropy_fn.3.gz %%MAN3%%man/man3/RAND_DRBG_get_ex_data.3.gz %%MAN3%%man/man3/RAND_DRBG_get_ex_new_index.3.gz %%MAN3%%man/man3/RAND_DRBG_get_nonce_fn.3.gz %%MAN3%%man/man3/RAND_DRBG_instantiate.3.gz %%MAN3%%man/man3/RAND_DRBG_new.3.gz %%MAN3%%man/man3/RAND_DRBG_reseed.3.gz %%MAN3%%man/man3/RAND_DRBG_secure_new.3.gz %%MAN3%%man/man3/RAND_DRBG_set.3.gz %%MAN3%%man/man3/RAND_DRBG_set_callbacks.3.gz %%MAN3%%man/man3/RAND_DRBG_set_defaults.3.gz %%MAN3%%man/man3/RAND_DRBG_set_ex_data.3.gz %%MAN3%%man/man3/RAND_DRBG_set_reseed_defaults.3.gz %%MAN3%%man/man3/RAND_DRBG_set_reseed_interval.3.gz %%MAN3%%man/man3/RAND_DRBG_set_reseed_time_interval.3.gz %%MAN3%%man/man3/RAND_DRBG_uninstantiate.3.gz %%MAN3%%man/man3/RAND_OpenSSL.3.gz %%MAN3%%man/man3/RAND_add.3.gz %%MAN3%%man/man3/RAND_bytes.3.gz %%MAN3%%man/man3/RAND_cleanup.3.gz %%MAN3%%man/man3/RAND_egd.3.gz %%MAN3%%man/man3/RAND_egd_bytes.3.gz %%MAN3%%man/man3/RAND_event.3.gz %%MAN3%%man/man3/RAND_file_name.3.gz %%MAN3%%man/man3/RAND_get_rand_method.3.gz %%MAN3%%man/man3/RAND_keep_random_devices_open.3.gz %%MAN3%%man/man3/RAND_load_file.3.gz %%MAN3%%man/man3/RAND_poll.3.gz %%MAN3%%man/man3/RAND_priv_bytes.3.gz %%MAN3%%man/man3/RAND_pseudo_bytes.3.gz %%MAN3%%man/man3/RAND_query_egd_bytes.3.gz %%MAN3%%man/man3/RAND_screen.3.gz %%MAN3%%man/man3/RAND_seed.3.gz %%MAN3%%man/man3/RAND_set_rand_method.3.gz %%MAN3%%man/man3/RAND_status.3.gz %%MAN3%%man/man3/RAND_write_file.3.gz %%MAN3%%man/man3/RC4.3.gz %%MAN3%%man/man3/RC4_set_key.3.gz %%MAN3%%man/man3/RIPEMD160.3.gz %%MAN3%%man/man3/RIPEMD160_Final.3.gz %%MAN3%%man/man3/RIPEMD160_Init.3.gz %%MAN3%%man/man3/RIPEMD160_Update.3.gz %%MAN3%%man/man3/RSAPrivateKey_dup.3.gz %%MAN3%%man/man3/RSAPublicKey_dup.3.gz %%MAN3%%man/man3/RSA_OAEP_PARAMS_free.3.gz %%MAN3%%man/man3/RSA_OAEP_PARAMS_new.3.gz %%MAN3%%man/man3/RSA_PKCS1_OpenSSL.3.gz %%MAN3%%man/man3/RSA_PSS_PARAMS_free.3.gz %%MAN3%%man/man3/RSA_PSS_PARAMS_new.3.gz %%MAN3%%man/man3/RSA_bits.3.gz %%MAN3%%man/man3/RSA_blinding_off.3.gz %%MAN3%%man/man3/RSA_blinding_on.3.gz %%MAN3%%man/man3/RSA_check_key.3.gz %%MAN3%%man/man3/RSA_check_key_ex.3.gz %%MAN3%%man/man3/RSA_clear_flags.3.gz %%MAN3%%man/man3/RSA_flags.3.gz %%MAN3%%man/man3/RSA_free.3.gz %%MAN3%%man/man3/RSA_generate_key.3.gz %%MAN3%%man/man3/RSA_generate_key_ex.3.gz %%MAN3%%man/man3/RSA_generate_multi_prime_key.3.gz %%MAN3%%man/man3/RSA_get0_crt_params.3.gz %%MAN3%%man/man3/RSA_get0_d.3.gz %%MAN3%%man/man3/RSA_get0_dmp1.3.gz %%MAN3%%man/man3/RSA_get0_dmq1.3.gz %%MAN3%%man/man3/RSA_get0_e.3.gz %%MAN3%%man/man3/RSA_get0_engine.3.gz %%MAN3%%man/man3/RSA_get0_factors.3.gz %%MAN3%%man/man3/RSA_get0_iqmp.3.gz %%MAN3%%man/man3/RSA_get0_key.3.gz %%MAN3%%man/man3/RSA_get0_multi_prime_crt_params.3.gz %%MAN3%%man/man3/RSA_get0_multi_prime_factors.3.gz %%MAN3%%man/man3/RSA_get0_n.3.gz %%MAN3%%man/man3/RSA_get0_p.3.gz %%MAN3%%man/man3/RSA_get0_pss_params.3.gz %%MAN3%%man/man3/RSA_get0_q.3.gz %%MAN3%%man/man3/RSA_get_default_method.3.gz %%MAN3%%man/man3/RSA_get_ex_data.3.gz %%MAN3%%man/man3/RSA_get_ex_new_index.3.gz %%MAN3%%man/man3/RSA_get_method.3.gz %%MAN3%%man/man3/RSA_get_multi_prime_extra_count.3.gz %%MAN3%%man/man3/RSA_get_version.3.gz %%MAN3%%man/man3/RSA_meth_dup.3.gz %%MAN3%%man/man3/RSA_meth_free.3.gz %%MAN3%%man/man3/RSA_meth_get0_app_data.3.gz %%MAN3%%man/man3/RSA_meth_get0_name.3.gz %%MAN3%%man/man3/RSA_meth_get_bn_mod_exp.3.gz %%MAN3%%man/man3/RSA_meth_get_finish.3.gz %%MAN3%%man/man3/RSA_meth_get_flags.3.gz %%MAN3%%man/man3/RSA_meth_get_init.3.gz %%MAN3%%man/man3/RSA_meth_get_keygen.3.gz %%MAN3%%man/man3/RSA_meth_get_mod_exp.3.gz %%MAN3%%man/man3/RSA_meth_get_multi_prime_keygen.3.gz %%MAN3%%man/man3/RSA_meth_get_priv_dec.3.gz %%MAN3%%man/man3/RSA_meth_get_priv_enc.3.gz %%MAN3%%man/man3/RSA_meth_get_pub_dec.3.gz %%MAN3%%man/man3/RSA_meth_get_pub_enc.3.gz %%MAN3%%man/man3/RSA_meth_get_sign.3.gz %%MAN3%%man/man3/RSA_meth_get_verify.3.gz %%MAN3%%man/man3/RSA_meth_new.3.gz %%MAN3%%man/man3/RSA_meth_set0_app_data.3.gz %%MAN3%%man/man3/RSA_meth_set1_name.3.gz %%MAN3%%man/man3/RSA_meth_set_bn_mod_exp.3.gz %%MAN3%%man/man3/RSA_meth_set_finish.3.gz %%MAN3%%man/man3/RSA_meth_set_flags.3.gz %%MAN3%%man/man3/RSA_meth_set_init.3.gz %%MAN3%%man/man3/RSA_meth_set_keygen.3.gz %%MAN3%%man/man3/RSA_meth_set_mod_exp.3.gz %%MAN3%%man/man3/RSA_meth_set_multi_prime_keygen.3.gz %%MAN3%%man/man3/RSA_meth_set_priv_dec.3.gz %%MAN3%%man/man3/RSA_meth_set_priv_enc.3.gz %%MAN3%%man/man3/RSA_meth_set_pub_dec.3.gz %%MAN3%%man/man3/RSA_meth_set_pub_enc.3.gz %%MAN3%%man/man3/RSA_meth_set_sign.3.gz %%MAN3%%man/man3/RSA_meth_set_verify.3.gz %%MAN3%%man/man3/RSA_new.3.gz %%MAN3%%man/man3/RSA_new_method.3.gz %%MAN3%%man/man3/RSA_padding_add_PKCS1_OAEP.3.gz %%MAN3%%man/man3/RSA_padding_add_PKCS1_OAEP_mgf1.3.gz %%MAN3%%man/man3/RSA_padding_add_PKCS1_type_1.3.gz %%MAN3%%man/man3/RSA_padding_add_PKCS1_type_2.3.gz %%MAN3%%man/man3/RSA_padding_add_SSLv23.3.gz %%MAN3%%man/man3/RSA_padding_add_none.3.gz %%MAN3%%man/man3/RSA_padding_check_PKCS1_OAEP.3.gz %%MAN3%%man/man3/RSA_padding_check_PKCS1_OAEP_mgf1.3.gz %%MAN3%%man/man3/RSA_padding_check_PKCS1_type_1.3.gz %%MAN3%%man/man3/RSA_padding_check_PKCS1_type_2.3.gz %%MAN3%%man/man3/RSA_padding_check_SSLv23.3.gz %%MAN3%%man/man3/RSA_padding_check_none.3.gz %%MAN3%%man/man3/RSA_print.3.gz %%MAN3%%man/man3/RSA_print_fp.3.gz %%MAN3%%man/man3/RSA_private_decrypt.3.gz %%MAN3%%man/man3/RSA_private_encrypt.3.gz %%MAN3%%man/man3/RSA_public_decrypt.3.gz %%MAN3%%man/man3/RSA_public_encrypt.3.gz %%MAN3%%man/man3/RSA_security_bits.3.gz %%MAN3%%man/man3/RSA_set0_crt_params.3.gz %%MAN3%%man/man3/RSA_set0_factors.3.gz %%MAN3%%man/man3/RSA_set0_key.3.gz %%MAN3%%man/man3/RSA_set0_multi_prime_params.3.gz %%MAN3%%man/man3/RSA_set_default_method.3.gz %%MAN3%%man/man3/RSA_set_ex_data.3.gz %%MAN3%%man/man3/RSA_set_flags.3.gz %%MAN3%%man/man3/RSA_set_method.3.gz %%MAN3%%man/man3/RSA_sign.3.gz %%MAN3%%man/man3/RSA_sign_ASN1_OCTET_STRING.3.gz %%MAN3%%man/man3/RSA_size.3.gz %%MAN3%%man/man3/RSA_test_flags.3.gz %%MAN3%%man/man3/RSA_verify.3.gz %%MAN3%%man/man3/RSA_verify_ASN1_OCTET_STRING.3.gz %%MAN3%%man/man3/SCRYPT_PARAMS_free.3.gz %%MAN3%%man/man3/SCRYPT_PARAMS_new.3.gz %%MAN3%%man/man3/SCT_LIST_free.3.gz %%MAN3%%man/man3/SCT_LIST_print.3.gz %%MAN3%%man/man3/SCT_LIST_validate.3.gz %%MAN3%%man/man3/SCT_free.3.gz %%MAN3%%man/man3/SCT_get0_extensions.3.gz %%MAN3%%man/man3/SCT_get0_log_id.3.gz %%MAN3%%man/man3/SCT_get0_signature.3.gz %%MAN3%%man/man3/SCT_get_log_entry_type.3.gz %%MAN3%%man/man3/SCT_get_signature_nid.3.gz %%MAN3%%man/man3/SCT_get_source.3.gz %%MAN3%%man/man3/SCT_get_timestamp.3.gz %%MAN3%%man/man3/SCT_get_validation_status.3.gz %%MAN3%%man/man3/SCT_get_version.3.gz %%MAN3%%man/man3/SCT_new.3.gz %%MAN3%%man/man3/SCT_new_from_base64.3.gz %%MAN3%%man/man3/SCT_print.3.gz %%MAN3%%man/man3/SCT_set0_extensions.3.gz %%MAN3%%man/man3/SCT_set0_log_id.3.gz %%MAN3%%man/man3/SCT_set0_signature.3.gz %%MAN3%%man/man3/SCT_set1_extensions.3.gz %%MAN3%%man/man3/SCT_set1_log_id.3.gz %%MAN3%%man/man3/SCT_set1_signature.3.gz %%MAN3%%man/man3/SCT_set_log_entry_type.3.gz %%MAN3%%man/man3/SCT_set_signature_nid.3.gz %%MAN3%%man/man3/SCT_set_source.3.gz %%MAN3%%man/man3/SCT_set_timestamp.3.gz %%MAN3%%man/man3/SCT_set_version.3.gz %%MAN3%%man/man3/SCT_validate.3.gz %%MAN3%%man/man3/SCT_validation_status_string.3.gz %%MAN3%%man/man3/SHA1.3.gz %%MAN3%%man/man3/SHA1_Final.3.gz %%MAN3%%man/man3/SHA1_Init.3.gz %%MAN3%%man/man3/SHA1_Update.3.gz %%MAN3%%man/man3/SHA224.3.gz %%MAN3%%man/man3/SHA224_Final.3.gz %%MAN3%%man/man3/SHA224_Init.3.gz %%MAN3%%man/man3/SHA224_Update.3.gz %%MAN3%%man/man3/SHA256.3.gz %%MAN3%%man/man3/SHA256_Final.3.gz %%MAN3%%man/man3/SHA256_Init.3.gz %%MAN3%%man/man3/SHA256_Update.3.gz %%MAN3%%man/man3/SHA384.3.gz %%MAN3%%man/man3/SHA384_Final.3.gz %%MAN3%%man/man3/SHA384_Init.3.gz %%MAN3%%man/man3/SHA384_Update.3.gz %%MAN3%%man/man3/SHA512.3.gz %%MAN3%%man/man3/SHA512_Final.3.gz %%MAN3%%man/man3/SHA512_Init.3.gz %%MAN3%%man/man3/SHA512_Update.3.gz %%MAN3%%man/man3/SMIME_read_CMS.3.gz %%MAN3%%man/man3/SMIME_read_PKCS7.3.gz %%MAN3%%man/man3/SMIME_write_CMS.3.gz %%MAN3%%man/man3/SMIME_write_PKCS7.3.gz %%MAN3%%man/man3/SSL_CIPHER_description.3.gz %%MAN3%%man/man3/SSL_CIPHER_find.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_auth_nid.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_bits.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_cipher_nid.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_digest_nid.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_handshake_digest.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_id.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_kx_nid.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_name.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_protocol_id.3.gz %%MAN3%%man/man3/SSL_CIPHER_get_version.3.gz %%MAN3%%man/man3/SSL_CIPHER_is_aead.3.gz %%MAN3%%man/man3/SSL_CIPHER_standard_name.3.gz %%MAN3%%man/man3/SSL_COMP_add_compression_method.3.gz %%MAN3%%man/man3/SSL_COMP_free_compression_methods.3.gz %%MAN3%%man/man3/SSL_COMP_get0_name.3.gz %%MAN3%%man/man3/SSL_COMP_get_compression_methods.3.gz %%MAN3%%man/man3/SSL_COMP_get_id.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_clear_flags.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_free.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_new.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_set1_prefix.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_set_flags.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_set_ssl.3.gz %%MAN3%%man/man3/SSL_CONF_CTX_set_ssl_ctx.3.gz %%MAN3%%man/man3/SSL_CONF_cmd.3.gz %%MAN3%%man/man3/SSL_CONF_cmd_argv.3.gz %%MAN3%%man/man3/SSL_CONF_cmd_value_type.3.gz %%MAN3%%man/man3/SSL_CTX_add0_chain_cert.3.gz %%MAN3%%man/man3/SSL_CTX_add1_chain_cert.3.gz %%MAN3%%man/man3/SSL_CTX_add1_to_CA_list.3.gz %%MAN3%%man/man3/SSL_CTX_add_client_CA.3.gz %%MAN3%%man/man3/SSL_CTX_add_client_custom_ext.3.gz %%MAN3%%man/man3/SSL_CTX_add_custom_ext.3.gz %%MAN3%%man/man3/SSL_CTX_add_extra_chain_cert.3.gz %%MAN3%%man/man3/SSL_CTX_add_server_custom_ext.3.gz %%MAN3%%man/man3/SSL_CTX_add_session.3.gz %%MAN3%%man/man3/SSL_CTX_build_cert_chain.3.gz %%MAN3%%man/man3/SSL_CTX_callback_ctrl.3.gz %%MAN3%%man/man3/SSL_CTX_check_private_key.3.gz %%MAN3%%man/man3/SSL_CTX_clear_chain_certs.3.gz %%MAN3%%man/man3/SSL_CTX_clear_extra_chain_certs.3.gz %%MAN3%%man/man3/SSL_CTX_clear_mode.3.gz %%MAN3%%man/man3/SSL_CTX_clear_options.3.gz %%MAN3%%man/man3/SSL_CTX_config.3.gz %%MAN3%%man/man3/SSL_CTX_ct_is_enabled.3.gz %%MAN3%%man/man3/SSL_CTX_ctrl.3.gz %%MAN3%%man/man3/SSL_CTX_dane_clear_flags.3.gz %%MAN3%%man/man3/SSL_CTX_dane_enable.3.gz %%MAN3%%man/man3/SSL_CTX_dane_mtype_set.3.gz %%MAN3%%man/man3/SSL_CTX_dane_set_flags.3.gz %%MAN3%%man/man3/SSL_CTX_decrypt_session_ticket_fn.3.gz %%MAN3%%man/man3/SSL_CTX_disable_ct.3.gz %%MAN3%%man/man3/SSL_CTX_enable_ct.3.gz %%MAN3%%man/man3/SSL_CTX_flush_sessions.3.gz %%MAN3%%man/man3/SSL_CTX_free.3.gz %%MAN3%%man/man3/SSL_CTX_generate_session_ticket_fn.3.gz %%MAN3%%man/man3/SSL_CTX_get0_CA_list.3.gz %%MAN3%%man/man3/SSL_CTX_get0_chain_certs.3.gz %%MAN3%%man/man3/SSL_CTX_get0_param.3.gz %%MAN3%%man/man3/SSL_CTX_get0_security_ex_data.3.gz %%MAN3%%man/man3/SSL_CTX_get_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_get_ciphers.3.gz %%MAN3%%man/man3/SSL_CTX_get_client_CA_list.3.gz %%MAN3%%man/man3/SSL_CTX_get_client_cert_cb.3.gz %%MAN3%%man/man3/SSL_CTX_get_default_passwd_cb.3.gz %%MAN3%%man/man3/SSL_CTX_get_default_passwd_cb_userdata.3.gz %%MAN3%%man/man3/SSL_CTX_get_default_read_ahead.3.gz %%MAN3%%man/man3/SSL_CTX_get_ex_data.3.gz %%MAN3%%man/man3/SSL_CTX_get_info_callback.3.gz %%MAN3%%man/man3/SSL_CTX_get_keylog_callback.3.gz %%MAN3%%man/man3/SSL_CTX_get_max_cert_list.3.gz %%MAN3%%man/man3/SSL_CTX_get_max_early_data.3.gz %%MAN3%%man/man3/SSL_CTX_get_max_proto_version.3.gz %%MAN3%%man/man3/SSL_CTX_get_min_proto_version.3.gz %%MAN3%%man/man3/SSL_CTX_get_mode.3.gz %%MAN3%%man/man3/SSL_CTX_get_num_tickets.3.gz %%MAN3%%man/man3/SSL_CTX_get_options.3.gz %%MAN3%%man/man3/SSL_CTX_get_quiet_shutdown.3.gz %%MAN3%%man/man3/SSL_CTX_get_read_ahead.3.gz %%MAN3%%man/man3/SSL_CTX_get_record_padding_callback_arg.3.gz %%MAN3%%man/man3/SSL_CTX_get_recv_max_early_data.3.gz %%MAN3%%man/man3/SSL_CTX_get_security_callback.3.gz %%MAN3%%man/man3/SSL_CTX_get_security_level.3.gz %%MAN3%%man/man3/SSL_CTX_get_session_cache_mode.3.gz %%MAN3%%man/man3/SSL_CTX_get_timeout.3.gz %%MAN3%%man/man3/SSL_CTX_get_tlsext_status_arg.3.gz %%MAN3%%man/man3/SSL_CTX_get_tlsext_status_cb.3.gz %%MAN3%%man/man3/SSL_CTX_get_tlsext_status_type.3.gz %%MAN3%%man/man3/SSL_CTX_get_verify_callback.3.gz %%MAN3%%man/man3/SSL_CTX_get_verify_depth.3.gz %%MAN3%%man/man3/SSL_CTX_get_verify_mode.3.gz %%MAN3%%man/man3/SSL_CTX_has_client_custom_ext.3.gz %%MAN3%%man/man3/SSL_CTX_keylog_cb_func.3.gz %%MAN3%%man/man3/SSL_CTX_load_verify_locations.3.gz %%MAN3%%man/man3/SSL_CTX_new.3.gz %%MAN3%%man/man3/SSL_CTX_remove_session.3.gz %%MAN3%%man/man3/SSL_CTX_select_current_cert.3.gz %%MAN3%%man/man3/SSL_CTX_sess_accept.3.gz %%MAN3%%man/man3/SSL_CTX_sess_accept_good.3.gz %%MAN3%%man/man3/SSL_CTX_sess_accept_renegotiate.3.gz %%MAN3%%man/man3/SSL_CTX_sess_cache_full.3.gz %%MAN3%%man/man3/SSL_CTX_sess_cb_hits.3.gz %%MAN3%%man/man3/SSL_CTX_sess_connect.3.gz %%MAN3%%man/man3/SSL_CTX_sess_connect_good.3.gz %%MAN3%%man/man3/SSL_CTX_sess_connect_renegotiate.3.gz %%MAN3%%man/man3/SSL_CTX_sess_get_cache_size.3.gz %%MAN3%%man/man3/SSL_CTX_sess_get_get_cb.3.gz %%MAN3%%man/man3/SSL_CTX_sess_get_new_cb.3.gz %%MAN3%%man/man3/SSL_CTX_sess_get_remove_cb.3.gz %%MAN3%%man/man3/SSL_CTX_sess_hits.3.gz %%MAN3%%man/man3/SSL_CTX_sess_misses.3.gz %%MAN3%%man/man3/SSL_CTX_sess_number.3.gz %%MAN3%%man/man3/SSL_CTX_sess_set_cache_size.3.gz %%MAN3%%man/man3/SSL_CTX_sess_set_get_cb.3.gz %%MAN3%%man/man3/SSL_CTX_sess_set_new_cb.3.gz %%MAN3%%man/man3/SSL_CTX_sess_set_remove_cb.3.gz %%MAN3%%man/man3/SSL_CTX_sess_timeouts.3.gz %%MAN3%%man/man3/SSL_CTX_sessions.3.gz %%MAN3%%man/man3/SSL_CTX_set0_CA_list.3.gz %%MAN3%%man/man3/SSL_CTX_set0_chain.3.gz %%MAN3%%man/man3/SSL_CTX_set0_chain_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_set0_security_ex_data.3.gz %%MAN3%%man/man3/SSL_CTX_set0_verify_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_set1_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_set1_chain.3.gz %%MAN3%%man/man3/SSL_CTX_set1_chain_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_set1_client_sigalgs.3.gz %%MAN3%%man/man3/SSL_CTX_set1_client_sigalgs_list.3.gz %%MAN3%%man/man3/SSL_CTX_set1_curves.3.gz %%MAN3%%man/man3/SSL_CTX_set1_curves_list.3.gz %%MAN3%%man/man3/SSL_CTX_set1_groups.3.gz %%MAN3%%man/man3/SSL_CTX_set1_groups_list.3.gz %%MAN3%%man/man3/SSL_CTX_set1_param.3.gz %%MAN3%%man/man3/SSL_CTX_set1_sigalgs.3.gz %%MAN3%%man/man3/SSL_CTX_set1_sigalgs_list.3.gz %%MAN3%%man/man3/SSL_CTX_set1_verify_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_set_allow_early_data_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_alpn_protos.3.gz %%MAN3%%man/man3/SSL_CTX_set_alpn_select_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_block_padding.3.gz %%MAN3%%man/man3/SSL_CTX_set_cert_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_cert_store.3.gz %%MAN3%%man/man3/SSL_CTX_set_cert_verify_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_cipher_list.3.gz %%MAN3%%man/man3/SSL_CTX_set_ciphersuites.3.gz %%MAN3%%man/man3/SSL_CTX_set_client_CA_list.3.gz %%MAN3%%man/man3/SSL_CTX_set_client_cert_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_client_hello_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_cookie_generate_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_cookie_verify_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_ct_validation_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_ctlog_list_file.3.gz %%MAN3%%man/man3/SSL_CTX_set_current_cert.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_ctlog_list_file.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_passwd_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_passwd_cb_userdata.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_read_buffer_len.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_verify_dir.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_verify_file.3.gz %%MAN3%%man/man3/SSL_CTX_set_default_verify_paths.3.gz %%MAN3%%man/man3/SSL_CTX_set_ex_data.3.gz %%MAN3%%man/man3/SSL_CTX_set_generate_session_id.3.gz %%MAN3%%man/man3/SSL_CTX_set_info_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_keylog_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_max_cert_list.3.gz %%MAN3%%man/man3/SSL_CTX_set_max_early_data.3.gz %%MAN3%%man/man3/SSL_CTX_set_max_pipelines.3.gz %%MAN3%%man/man3/SSL_CTX_set_max_proto_version.3.gz %%MAN3%%man/man3/SSL_CTX_set_max_send_fragment.3.gz %%MAN3%%man/man3/SSL_CTX_set_min_proto_version.3.gz %%MAN3%%man/man3/SSL_CTX_set_mode.3.gz %%MAN3%%man/man3/SSL_CTX_set_msg_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_msg_callback_arg.3.gz %%MAN3%%man/man3/SSL_CTX_set_next_proto_select_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_next_protos_advertised_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_num_tickets.3.gz %%MAN3%%man/man3/SSL_CTX_set_options.3.gz %%MAN3%%man/man3/SSL_CTX_set_post_handshake_auth.3.gz %%MAN3%%man/man3/SSL_CTX_set_psk_client_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_psk_find_session_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_psk_server_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_psk_use_session_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_quiet_shutdown.3.gz %%MAN3%%man/man3/SSL_CTX_set_read_ahead.3.gz %%MAN3%%man/man3/SSL_CTX_set_record_padding_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_record_padding_callback_arg.3.gz %%MAN3%%man/man3/SSL_CTX_set_recv_max_early_data.3.gz %%MAN3%%man/man3/SSL_CTX_set_security_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_security_level.3.gz %%MAN3%%man/man3/SSL_CTX_set_session_cache_mode.3.gz %%MAN3%%man/man3/SSL_CTX_set_session_id_context.3.gz %%MAN3%%man/man3/SSL_CTX_set_session_ticket_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_split_send_fragment.3.gz %%MAN3%%man/man3/SSL_CTX_set_ssl_version.3.gz %%MAN3%%man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_stateless_cookie_verify_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_timeout.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_max_fragment_length.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_servername_arg.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_servername_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_status_arg.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_status_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_status_type.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3.gz %%MAN3%%man/man3/SSL_CTX_set_tlsext_use_srtp.3.gz %%MAN3%%man/man3/SSL_CTX_set_tmp_dh.3.gz %%MAN3%%man/man3/SSL_CTX_set_tmp_dh_callback.3.gz %%MAN3%%man/man3/SSL_CTX_set_verify.3.gz %%MAN3%%man/man3/SSL_CTX_set_verify_depth.3.gz %%MAN3%%man/man3/SSL_CTX_up_ref.3.gz %%MAN3%%man/man3/SSL_CTX_use_PrivateKey.3.gz %%MAN3%%man/man3/SSL_CTX_use_PrivateKey_ASN1.3.gz %%MAN3%%man/man3/SSL_CTX_use_PrivateKey_file.3.gz %%MAN3%%man/man3/SSL_CTX_use_RSAPrivateKey.3.gz %%MAN3%%man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3.gz %%MAN3%%man/man3/SSL_CTX_use_RSAPrivateKey_file.3.gz %%MAN3%%man/man3/SSL_CTX_use_cert_and_key.3.gz %%MAN3%%man/man3/SSL_CTX_use_certificate.3.gz %%MAN3%%man/man3/SSL_CTX_use_certificate_ASN1.3.gz %%MAN3%%man/man3/SSL_CTX_use_certificate_chain_file.3.gz %%MAN3%%man/man3/SSL_CTX_use_certificate_file.3.gz %%MAN3%%man/man3/SSL_CTX_use_psk_identity_hint.3.gz %%MAN3%%man/man3/SSL_CTX_use_serverinfo.3.gz %%MAN3%%man/man3/SSL_CTX_use_serverinfo_ex.3.gz %%MAN3%%man/man3/SSL_CTX_use_serverinfo_file.3.gz %%MAN3%%man/man3/SSL_SESSION_dup.3.gz %%MAN3%%man/man3/SSL_SESSION_free.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_alpn_selected.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_cipher.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_hostname.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_id_context.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_peer.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_ticket.3.gz %%MAN3%%man/man3/SSL_SESSION_get0_ticket_appdata.3.gz %%MAN3%%man/man3/SSL_SESSION_get_compress_id.3.gz %%MAN3%%man/man3/SSL_SESSION_get_ex_data.3.gz %%MAN3%%man/man3/SSL_SESSION_get_id.3.gz %%MAN3%%man/man3/SSL_SESSION_get_master_key.3.gz %%MAN3%%man/man3/SSL_SESSION_get_max_early_data.3.gz %%MAN3%%man/man3/SSL_SESSION_get_max_fragment_length.3.gz %%MAN3%%man/man3/SSL_SESSION_get_protocol_version.3.gz %%MAN3%%man/man3/SSL_SESSION_get_ticket_lifetime_hint.3.gz %%MAN3%%man/man3/SSL_SESSION_get_time.3.gz %%MAN3%%man/man3/SSL_SESSION_get_timeout.3.gz %%MAN3%%man/man3/SSL_SESSION_has_ticket.3.gz %%MAN3%%man/man3/SSL_SESSION_is_resumable.3.gz %%MAN3%%man/man3/SSL_SESSION_new.3.gz %%MAN3%%man/man3/SSL_SESSION_print.3.gz %%MAN3%%man/man3/SSL_SESSION_print_fp.3.gz %%MAN3%%man/man3/SSL_SESSION_print_keylog.3.gz %%MAN3%%man/man3/SSL_SESSION_set1_alpn_selected.3.gz %%MAN3%%man/man3/SSL_SESSION_set1_hostname.3.gz %%MAN3%%man/man3/SSL_SESSION_set1_id.3.gz %%MAN3%%man/man3/SSL_SESSION_set1_id_context.3.gz %%MAN3%%man/man3/SSL_SESSION_set1_master_key.3.gz %%MAN3%%man/man3/SSL_SESSION_set1_ticket_appdata.3.gz %%MAN3%%man/man3/SSL_SESSION_set_cipher.3.gz %%MAN3%%man/man3/SSL_SESSION_set_ex_data.3.gz %%MAN3%%man/man3/SSL_SESSION_set_max_early_data.3.gz %%MAN3%%man/man3/SSL_SESSION_set_protocol_version.3.gz %%MAN3%%man/man3/SSL_SESSION_set_time.3.gz %%MAN3%%man/man3/SSL_SESSION_set_timeout.3.gz %%MAN3%%man/man3/SSL_SESSION_up_ref.3.gz %%MAN3%%man/man3/SSL_accept.3.gz %%MAN3%%man/man3/SSL_add0_chain_cert.3.gz %%MAN3%%man/man3/SSL_add1_chain_cert.3.gz %%MAN3%%man/man3/SSL_add1_host.3.gz %%MAN3%%man/man3/SSL_add1_to_CA_list.3.gz %%MAN3%%man/man3/SSL_add_client_CA.3.gz %%MAN3%%man/man3/SSL_add_dir_cert_subjects_to_stack.3.gz %%MAN3%%man/man3/SSL_add_file_cert_subjects_to_stack.3.gz %%MAN3%%man/man3/SSL_alert_desc_string.3.gz %%MAN3%%man/man3/SSL_alert_desc_string_long.3.gz %%MAN3%%man/man3/SSL_alert_type_string.3.gz %%MAN3%%man/man3/SSL_alert_type_string_long.3.gz %%MAN3%%man/man3/SSL_alloc_buffers.3.gz %%MAN3%%man/man3/SSL_allow_early_data_cb_fn.3.gz %%MAN3%%man/man3/SSL_build_cert_chain.3.gz %%MAN3%%man/man3/SSL_bytes_to_cipher_list.3.gz %%MAN3%%man/man3/SSL_callback_ctrl.3.gz %%MAN3%%man/man3/SSL_check_chain.3.gz %%MAN3%%man/man3/SSL_check_private_key.3.gz %%MAN3%%man/man3/SSL_clear.3.gz %%MAN3%%man/man3/SSL_clear_chain_certs.3.gz %%MAN3%%man/man3/SSL_clear_mode.3.gz %%MAN3%%man/man3/SSL_clear_options.3.gz %%MAN3%%man/man3/SSL_client_hello_cb_fn.3.gz %%MAN3%%man/man3/SSL_client_hello_get0_ciphers.3.gz %%MAN3%%man/man3/SSL_client_hello_get0_compression_methods.3.gz %%MAN3%%man/man3/SSL_client_hello_get0_ext.3.gz %%MAN3%%man/man3/SSL_client_hello_get0_legacy_version.3.gz %%MAN3%%man/man3/SSL_client_hello_get0_random.3.gz %%MAN3%%man/man3/SSL_client_hello_get0_session_id.3.gz %%MAN3%%man/man3/SSL_client_hello_get1_extensions_present.3.gz %%MAN3%%man/man3/SSL_client_hello_isv2.3.gz %%MAN3%%man/man3/SSL_client_version.3.gz %%MAN3%%man/man3/SSL_config.3.gz %%MAN3%%man/man3/SSL_connect.3.gz %%MAN3%%man/man3/SSL_ct_is_enabled.3.gz %%MAN3%%man/man3/SSL_ctrl.3.gz %%MAN3%%man/man3/SSL_dane_clear_flags.3.gz %%MAN3%%man/man3/SSL_dane_enable.3.gz %%MAN3%%man/man3/SSL_dane_set_flags.3.gz %%MAN3%%man/man3/SSL_dane_tlsa_add.3.gz %%MAN3%%man/man3/SSL_disable_ct.3.gz %%MAN3%%man/man3/SSL_do_handshake.3.gz %%MAN3%%man/man3/SSL_dup.3.gz %%MAN3%%man/man3/SSL_enable_ct.3.gz %%MAN3%%man/man3/SSL_export_keying_material.3.gz %%MAN3%%man/man3/SSL_export_keying_material_early.3.gz %%MAN3%%man/man3/SSL_extension_supported.3.gz %%MAN3%%man/man3/SSL_free.3.gz %%MAN3%%man/man3/SSL_free_buffers.3.gz %%MAN3%%man/man3/SSL_get0_CA_list.3.gz %%MAN3%%man/man3/SSL_get0_alpn_selected.3.gz %%MAN3%%man/man3/SSL_get0_chain_certs.3.gz %%MAN3%%man/man3/SSL_get0_dane_authority.3.gz %%MAN3%%man/man3/SSL_get0_dane_tlsa.3.gz %%MAN3%%man/man3/SSL_get0_next_proto_negotiated.3.gz %%MAN3%%man/man3/SSL_get0_param.3.gz %%MAN3%%man/man3/SSL_get0_peer_CA_list.3.gz %%MAN3%%man/man3/SSL_get0_peer_scts.3.gz %%MAN3%%man/man3/SSL_get0_peername.3.gz %%MAN3%%man/man3/SSL_get0_security_ex_data.3.gz %%MAN3%%man/man3/SSL_get0_session.3.gz %%MAN3%%man/man3/SSL_get0_verified_chain.3.gz %%MAN3%%man/man3/SSL_get1_curves.3.gz %%MAN3%%man/man3/SSL_get1_groups.3.gz %%MAN3%%man/man3/SSL_get1_session.3.gz %%MAN3%%man/man3/SSL_get1_supported_ciphers.3.gz %%MAN3%%man/man3/SSL_get_SSL_CTX.3.gz %%MAN3%%man/man3/SSL_get_all_async_fds.3.gz %%MAN3%%man/man3/SSL_get_changed_async_fds.3.gz %%MAN3%%man/man3/SSL_get_cipher.3.gz %%MAN3%%man/man3/SSL_get_cipher_bits.3.gz %%MAN3%%man/man3/SSL_get_cipher_list.3.gz %%MAN3%%man/man3/SSL_get_cipher_name.3.gz %%MAN3%%man/man3/SSL_get_cipher_version.3.gz %%MAN3%%man/man3/SSL_get_ciphers.3.gz %%MAN3%%man/man3/SSL_get_client_CA_list.3.gz %%MAN3%%man/man3/SSL_get_client_ciphers.3.gz %%MAN3%%man/man3/SSL_get_client_random.3.gz %%MAN3%%man/man3/SSL_get_current_cipher.3.gz %%MAN3%%man/man3/SSL_get_default_passwd_cb.3.gz %%MAN3%%man/man3/SSL_get_default_passwd_cb_userdata.3.gz %%MAN3%%man/man3/SSL_get_default_timeout.3.gz %%MAN3%%man/man3/SSL_get_early_data_status.3.gz %%MAN3%%man/man3/SSL_get_error.3.gz %%MAN3%%man/man3/SSL_get_ex_data.3.gz %%MAN3%%man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3.gz %%MAN3%%man/man3/SSL_get_extms_support.3.gz %%MAN3%%man/man3/SSL_get_fd.3.gz %%MAN3%%man/man3/SSL_get_info_callback.3.gz %%MAN3%%man/man3/SSL_get_key_update_type.3.gz %%MAN3%%man/man3/SSL_get_max_cert_list.3.gz %%MAN3%%man/man3/SSL_get_max_early_data.3.gz %%MAN3%%man/man3/SSL_get_max_proto_version.3.gz %%MAN3%%man/man3/SSL_get_min_proto_version.3.gz %%MAN3%%man/man3/SSL_get_mode.3.gz %%MAN3%%man/man3/SSL_get_num_tickets.3.gz %%MAN3%%man/man3/SSL_get_options.3.gz %%MAN3%%man/man3/SSL_get_peer_cert_chain.3.gz %%MAN3%%man/man3/SSL_get_peer_certificate.3.gz %%MAN3%%man/man3/SSL_get_peer_signature_nid.3.gz %%MAN3%%man/man3/SSL_get_peer_signature_type_nid.3.gz %%MAN3%%man/man3/SSL_get_peer_tmp_key.3.gz %%MAN3%%man/man3/SSL_get_pending_cipher.3.gz %%MAN3%%man/man3/SSL_get_psk_identity.3.gz %%MAN3%%man/man3/SSL_get_psk_identity_hint.3.gz %%MAN3%%man/man3/SSL_get_quiet_shutdown.3.gz %%MAN3%%man/man3/SSL_get_rbio.3.gz %%MAN3%%man/man3/SSL_get_read_ahead.3.gz %%MAN3%%man/man3/SSL_get_record_padding_callback_arg.3.gz %%MAN3%%man/man3/SSL_get_recv_max_early_data.3.gz %%MAN3%%man/man3/SSL_get_rfd.3.gz %%MAN3%%man/man3/SSL_get_secure_renegotiation_support.3.gz %%MAN3%%man/man3/SSL_get_security_callback.3.gz %%MAN3%%man/man3/SSL_get_security_level.3.gz %%MAN3%%man/man3/SSL_get_selected_srtp_profile.3.gz %%MAN3%%man/man3/SSL_get_server_random.3.gz %%MAN3%%man/man3/SSL_get_server_tmp_key.3.gz %%MAN3%%man/man3/SSL_get_servername.3.gz %%MAN3%%man/man3/SSL_get_servername_type.3.gz %%MAN3%%man/man3/SSL_get_session.3.gz %%MAN3%%man/man3/SSL_get_shared_ciphers.3.gz %%MAN3%%man/man3/SSL_get_shared_curve.3.gz %%MAN3%%man/man3/SSL_get_shared_group.3.gz %%MAN3%%man/man3/SSL_get_shared_sigalgs.3.gz %%MAN3%%man/man3/SSL_get_shutdown.3.gz %%MAN3%%man/man3/SSL_get_sigalgs.3.gz %%MAN3%%man/man3/SSL_get_signature_nid.3.gz %%MAN3%%man/man3/SSL_get_signature_type_nid.3.gz %%MAN3%%man/man3/SSL_get_srtp_profiles.3.gz %%MAN3%%man/man3/SSL_get_ssl_method.3.gz %%MAN3%%man/man3/SSL_get_state.3.gz %%MAN3%%man/man3/SSL_get_time.3.gz %%MAN3%%man/man3/SSL_get_timeout.3.gz %%MAN3%%man/man3/SSL_get_tlsext_status_ocsp_resp.3.gz %%MAN3%%man/man3/SSL_get_tlsext_status_type.3.gz %%MAN3%%man/man3/SSL_get_tmp_key.3.gz %%MAN3%%man/man3/SSL_get_verify_callback.3.gz %%MAN3%%man/man3/SSL_get_verify_depth.3.gz %%MAN3%%man/man3/SSL_get_verify_mode.3.gz %%MAN3%%man/man3/SSL_get_verify_result.3.gz %%MAN3%%man/man3/SSL_get_version.3.gz %%MAN3%%man/man3/SSL_get_wbio.3.gz %%MAN3%%man/man3/SSL_get_wfd.3.gz %%MAN3%%man/man3/SSL_has_matching_session_id.3.gz %%MAN3%%man/man3/SSL_has_pending.3.gz %%MAN3%%man/man3/SSL_in_accept_init.3.gz %%MAN3%%man/man3/SSL_in_before.3.gz %%MAN3%%man/man3/SSL_in_connect_init.3.gz %%MAN3%%man/man3/SSL_in_init.3.gz %%MAN3%%man/man3/SSL_is_dtls.3.gz %%MAN3%%man/man3/SSL_is_init_finished.3.gz %%MAN3%%man/man3/SSL_is_server.3.gz %%MAN3%%man/man3/SSL_key_update.3.gz %%MAN3%%man/man3/SSL_library_init.3.gz %%MAN3%%man/man3/SSL_load_client_CA_file.3.gz %%MAN3%%man/man3/SSL_load_error_strings.3.gz %%MAN3%%man/man3/SSL_new.3.gz %%MAN3%%man/man3/SSL_peek.3.gz %%MAN3%%man/man3/SSL_peek_ex.3.gz %%MAN3%%man/man3/SSL_pending.3.gz %%MAN3%%man/man3/SSL_psk_client_cb_func.3.gz %%MAN3%%man/man3/SSL_psk_find_session_cb_func.3.gz %%MAN3%%man/man3/SSL_psk_server_cb_func.3.gz %%MAN3%%man/man3/SSL_psk_use_session_cb_func.3.gz %%MAN3%%man/man3/SSL_read.3.gz %%MAN3%%man/man3/SSL_read_early_data.3.gz %%MAN3%%man/man3/SSL_read_ex.3.gz %%MAN3%%man/man3/SSL_renegotiate.3.gz %%MAN3%%man/man3/SSL_renegotiate_abbreviated.3.gz %%MAN3%%man/man3/SSL_renegotiate_pending.3.gz %%MAN3%%man/man3/SSL_rstate_string.3.gz %%MAN3%%man/man3/SSL_rstate_string_long.3.gz %%MAN3%%man/man3/SSL_select_current_cert.3.gz %%MAN3%%man/man3/SSL_select_next_proto.3.gz %%KTLS%%%%MAN3%%man/man3/SSL_sendfile.3.gz %%MAN3%%man/man3/SSL_session_reused.3.gz %%MAN3%%man/man3/SSL_set0_CA_list.3.gz %%MAN3%%man/man3/SSL_set0_chain.3.gz %%MAN3%%man/man3/SSL_set0_chain_cert_store.3.gz %%MAN3%%man/man3/SSL_set0_rbio.3.gz %%MAN3%%man/man3/SSL_set0_security_ex_data.3.gz %%MAN3%%man/man3/SSL_set0_verify_cert_store.3.gz %%MAN3%%man/man3/SSL_set0_wbio.3.gz %%MAN3%%man/man3/SSL_set1_chain.3.gz %%MAN3%%man/man3/SSL_set1_chain_cert_store.3.gz %%MAN3%%man/man3/SSL_set1_client_sigalgs.3.gz %%MAN3%%man/man3/SSL_set1_client_sigalgs_list.3.gz %%MAN3%%man/man3/SSL_set1_curves.3.gz %%MAN3%%man/man3/SSL_set1_curves_list.3.gz %%MAN3%%man/man3/SSL_set1_groups.3.gz %%MAN3%%man/man3/SSL_set1_groups_list.3.gz %%MAN3%%man/man3/SSL_set1_host.3.gz %%MAN3%%man/man3/SSL_set1_param.3.gz %%MAN3%%man/man3/SSL_set1_sigalgs.3.gz %%MAN3%%man/man3/SSL_set1_sigalgs_list.3.gz %%MAN3%%man/man3/SSL_set1_verify_cert_store.3.gz %%MAN3%%man/man3/SSL_set_accept_state.3.gz %%MAN3%%man/man3/SSL_set_allow_early_data_cb.3.gz %%MAN3%%man/man3/SSL_set_alpn_protos.3.gz %%MAN3%%man/man3/SSL_set_bio.3.gz %%MAN3%%man/man3/SSL_set_block_padding.3.gz %%MAN3%%man/man3/SSL_set_cert_cb.3.gz %%MAN3%%man/man3/SSL_set_cipher_list.3.gz %%MAN3%%man/man3/SSL_set_ciphersuites.3.gz %%MAN3%%man/man3/SSL_set_client_CA_list.3.gz %%MAN3%%man/man3/SSL_set_connect_state.3.gz %%MAN3%%man/man3/SSL_set_ct_validation_callback.3.gz %%MAN3%%man/man3/SSL_set_current_cert.3.gz %%MAN3%%man/man3/SSL_set_default_passwd_cb.3.gz %%MAN3%%man/man3/SSL_set_default_passwd_cb_userdata.3.gz %%MAN3%%man/man3/SSL_set_default_read_buffer_len.3.gz %%MAN3%%man/man3/SSL_set_ex_data.3.gz %%MAN3%%man/man3/SSL_set_fd.3.gz %%MAN3%%man/man3/SSL_set_generate_session_id.3.gz %%MAN3%%man/man3/SSL_set_hostflags.3.gz %%MAN3%%man/man3/SSL_set_info_callback.3.gz %%MAN3%%man/man3/SSL_set_max_cert_list.3.gz %%MAN3%%man/man3/SSL_set_max_early_data.3.gz %%MAN3%%man/man3/SSL_set_max_pipelines.3.gz %%MAN3%%man/man3/SSL_set_max_proto_version.3.gz %%MAN3%%man/man3/SSL_set_max_send_fragment.3.gz %%MAN3%%man/man3/SSL_set_min_proto_version.3.gz %%MAN3%%man/man3/SSL_set_mode.3.gz %%MAN3%%man/man3/SSL_set_msg_callback.3.gz %%MAN3%%man/man3/SSL_set_msg_callback_arg.3.gz %%MAN3%%man/man3/SSL_set_num_tickets.3.gz %%MAN3%%man/man3/SSL_set_options.3.gz %%MAN3%%man/man3/SSL_set_post_handshake_auth.3.gz %%MAN3%%man/man3/SSL_set_psk_client_callback.3.gz %%MAN3%%man/man3/SSL_set_psk_find_session_callback.3.gz %%MAN3%%man/man3/SSL_set_psk_server_callback.3.gz %%MAN3%%man/man3/SSL_set_psk_use_session_callback.3.gz %%MAN3%%man/man3/SSL_set_quiet_shutdown.3.gz %%MAN3%%man/man3/SSL_set_read_ahead.3.gz %%MAN3%%man/man3/SSL_set_record_padding_callback.3.gz %%MAN3%%man/man3/SSL_set_record_padding_callback_arg.3.gz %%MAN3%%man/man3/SSL_set_recv_max_early_data.3.gz %%MAN3%%man/man3/SSL_set_rfd.3.gz %%MAN3%%man/man3/SSL_set_security_callback.3.gz %%MAN3%%man/man3/SSL_set_security_level.3.gz %%MAN3%%man/man3/SSL_set_session.3.gz %%MAN3%%man/man3/SSL_set_session_id_context.3.gz %%MAN3%%man/man3/SSL_set_shutdown.3.gz %%MAN3%%man/man3/SSL_set_split_send_fragment.3.gz %%MAN3%%man/man3/SSL_set_ssl_method.3.gz %%MAN3%%man/man3/SSL_set_time.3.gz %%MAN3%%man/man3/SSL_set_timeout.3.gz %%MAN3%%man/man3/SSL_set_tlsext_host_name.3.gz %%MAN3%%man/man3/SSL_set_tlsext_max_fragment_length.3.gz %%MAN3%%man/man3/SSL_set_tlsext_status_ocsp_resp.3.gz %%MAN3%%man/man3/SSL_set_tlsext_status_type.3.gz %%MAN3%%man/man3/SSL_set_tlsext_use_srtp.3.gz %%MAN3%%man/man3/SSL_set_tmp_dh.3.gz %%MAN3%%man/man3/SSL_set_tmp_dh_callback.3.gz %%MAN3%%man/man3/SSL_set_verify.3.gz %%MAN3%%man/man3/SSL_set_verify_depth.3.gz %%MAN3%%man/man3/SSL_set_verify_result.3.gz %%MAN3%%man/man3/SSL_set_wfd.3.gz %%MAN3%%man/man3/SSL_shutdown.3.gz %%MAN3%%man/man3/SSL_state_string.3.gz %%MAN3%%man/man3/SSL_state_string_long.3.gz %%MAN3%%man/man3/SSL_stateless.3.gz %%MAN3%%man/man3/SSL_up_ref.3.gz %%MAN3%%man/man3/SSL_use_PrivateKey.3.gz %%MAN3%%man/man3/SSL_use_PrivateKey_ASN1.3.gz %%MAN3%%man/man3/SSL_use_PrivateKey_file.3.gz %%MAN3%%man/man3/SSL_use_RSAPrivateKey.3.gz %%MAN3%%man/man3/SSL_use_RSAPrivateKey_ASN1.3.gz %%MAN3%%man/man3/SSL_use_RSAPrivateKey_file.3.gz %%MAN3%%man/man3/SSL_use_cert_and_key.3.gz %%MAN3%%man/man3/SSL_use_certificate.3.gz %%MAN3%%man/man3/SSL_use_certificate_ASN1.3.gz %%MAN3%%man/man3/SSL_use_certificate_chain_file.3.gz %%MAN3%%man/man3/SSL_use_certificate_file.3.gz %%MAN3%%man/man3/SSL_use_psk_identity_hint.3.gz %%MAN3%%man/man3/SSL_verify_cb.3.gz %%MAN3%%man/man3/SSL_verify_client_post_handshake.3.gz %%MAN3%%man/man3/SSL_version.3.gz %%MAN3%%man/man3/SSL_waiting_for_async.3.gz %%MAN3%%man/man3/SSL_want.3.gz %%MAN3%%man/man3/SSL_want_async.3.gz %%MAN3%%man/man3/SSL_want_async_job.3.gz %%MAN3%%man/man3/SSL_want_client_hello_cb.3.gz %%MAN3%%man/man3/SSL_want_nothing.3.gz %%MAN3%%man/man3/SSL_want_read.3.gz %%MAN3%%man/man3/SSL_want_write.3.gz %%MAN3%%man/man3/SSL_want_x509_lookup.3.gz %%MAN3%%man/man3/SSL_write.3.gz %%MAN3%%man/man3/SSL_write_early_data.3.gz %%MAN3%%man/man3/SSL_write_ex.3.gz %%MAN3%%man/man3/SSLv23_client_method.3.gz %%MAN3%%man/man3/SSLv23_method.3.gz %%MAN3%%man/man3/SSLv23_server_method.3.gz %%MAN3%%man/man3/SSLv3_client_method.3.gz %%MAN3%%man/man3/SSLv3_method.3.gz %%MAN3%%man/man3/SSLv3_server_method.3.gz %%MAN3%%man/man3/SXNETID_free.3.gz %%MAN3%%man/man3/SXNETID_new.3.gz %%MAN3%%man/man3/SXNET_free.3.gz %%MAN3%%man/man3/SXNET_new.3.gz %%MAN3%%man/man3/TLS_FEATURE_free.3.gz %%MAN3%%man/man3/TLS_FEATURE_new.3.gz %%MAN3%%man/man3/TLS_client_method.3.gz %%MAN3%%man/man3/TLS_method.3.gz %%MAN3%%man/man3/TLS_server_method.3.gz %%MAN3%%man/man3/TLSv1_1_client_method.3.gz %%MAN3%%man/man3/TLSv1_1_method.3.gz %%MAN3%%man/man3/TLSv1_1_server_method.3.gz %%MAN3%%man/man3/TLSv1_2_client_method.3.gz %%MAN3%%man/man3/TLSv1_2_method.3.gz %%MAN3%%man/man3/TLSv1_2_server_method.3.gz %%MAN3%%man/man3/TLSv1_client_method.3.gz %%MAN3%%man/man3/TLSv1_method.3.gz %%MAN3%%man/man3/TLSv1_server_method.3.gz %%MAN3%%man/man3/TS_ACCURACY_dup.3.gz %%MAN3%%man/man3/TS_ACCURACY_free.3.gz %%MAN3%%man/man3/TS_ACCURACY_new.3.gz %%MAN3%%man/man3/TS_MSG_IMPRINT_dup.3.gz %%MAN3%%man/man3/TS_MSG_IMPRINT_free.3.gz %%MAN3%%man/man3/TS_MSG_IMPRINT_new.3.gz %%MAN3%%man/man3/TS_REQ_dup.3.gz %%MAN3%%man/man3/TS_REQ_free.3.gz %%MAN3%%man/man3/TS_REQ_new.3.gz %%MAN3%%man/man3/TS_RESP_dup.3.gz %%MAN3%%man/man3/TS_RESP_free.3.gz %%MAN3%%man/man3/TS_RESP_new.3.gz %%MAN3%%man/man3/TS_STATUS_INFO_dup.3.gz %%MAN3%%man/man3/TS_STATUS_INFO_free.3.gz %%MAN3%%man/man3/TS_STATUS_INFO_new.3.gz %%MAN3%%man/man3/TS_TST_INFO_dup.3.gz %%MAN3%%man/man3/TS_TST_INFO_free.3.gz %%MAN3%%man/man3/TS_TST_INFO_new.3.gz %%MAN3%%man/man3/UI.3.gz %%MAN3%%man/man3/UI_METHOD.3.gz %%MAN3%%man/man3/UI_OpenSSL.3.gz %%MAN3%%man/man3/UI_STRING.3.gz %%MAN3%%man/man3/UI_UTIL_read_pw.3.gz %%MAN3%%man/man3/UI_UTIL_read_pw_string.3.gz %%MAN3%%man/man3/UI_UTIL_wrap_read_pem_callback.3.gz %%MAN3%%man/man3/UI_add_error_string.3.gz %%MAN3%%man/man3/UI_add_info_string.3.gz %%MAN3%%man/man3/UI_add_input_boolean.3.gz %%MAN3%%man/man3/UI_add_input_string.3.gz %%MAN3%%man/man3/UI_add_user_data.3.gz %%MAN3%%man/man3/UI_add_verify_string.3.gz %%MAN3%%man/man3/UI_construct_prompt.3.gz %%MAN3%%man/man3/UI_create_method.3.gz %%MAN3%%man/man3/UI_ctrl.3.gz %%MAN3%%man/man3/UI_destroy_method.3.gz %%MAN3%%man/man3/UI_dup_error_string.3.gz %%MAN3%%man/man3/UI_dup_info_string.3.gz %%MAN3%%man/man3/UI_dup_input_boolean.3.gz %%MAN3%%man/man3/UI_dup_input_string.3.gz %%MAN3%%man/man3/UI_dup_user_data.3.gz %%MAN3%%man/man3/UI_dup_verify_string.3.gz %%MAN3%%man/man3/UI_free.3.gz %%MAN3%%man/man3/UI_get0_action_string.3.gz %%MAN3%%man/man3/UI_get0_output_string.3.gz %%MAN3%%man/man3/UI_get0_result.3.gz %%MAN3%%man/man3/UI_get0_result_string.3.gz %%MAN3%%man/man3/UI_get0_test_string.3.gz %%MAN3%%man/man3/UI_get0_user_data.3.gz %%MAN3%%man/man3/UI_get_default_method.3.gz %%MAN3%%man/man3/UI_get_ex_data.3.gz %%MAN3%%man/man3/UI_get_ex_new_index.3.gz %%MAN3%%man/man3/UI_get_input_flags.3.gz %%MAN3%%man/man3/UI_get_method.3.gz %%MAN3%%man/man3/UI_get_result_length.3.gz %%MAN3%%man/man3/UI_get_result_maxsize.3.gz %%MAN3%%man/man3/UI_get_result_minsize.3.gz %%MAN3%%man/man3/UI_get_result_string_length.3.gz %%MAN3%%man/man3/UI_get_string_type.3.gz %%MAN3%%man/man3/UI_method_get_closer.3.gz %%MAN3%%man/man3/UI_method_get_data_destructor.3.gz %%MAN3%%man/man3/UI_method_get_data_duplicator.3.gz %%MAN3%%man/man3/UI_method_get_ex_data.3.gz %%MAN3%%man/man3/UI_method_get_flusher.3.gz %%MAN3%%man/man3/UI_method_get_opener.3.gz %%MAN3%%man/man3/UI_method_get_prompt_constructor.3.gz %%MAN3%%man/man3/UI_method_get_reader.3.gz %%MAN3%%man/man3/UI_method_get_writer.3.gz %%MAN3%%man/man3/UI_method_set_closer.3.gz %%MAN3%%man/man3/UI_method_set_data_duplicator.3.gz %%MAN3%%man/man3/UI_method_set_ex_data.3.gz %%MAN3%%man/man3/UI_method_set_flusher.3.gz %%MAN3%%man/man3/UI_method_set_opener.3.gz %%MAN3%%man/man3/UI_method_set_prompt_constructor.3.gz %%MAN3%%man/man3/UI_method_set_reader.3.gz %%MAN3%%man/man3/UI_method_set_writer.3.gz %%MAN3%%man/man3/UI_new.3.gz %%MAN3%%man/man3/UI_new_method.3.gz %%MAN3%%man/man3/UI_null.3.gz %%MAN3%%man/man3/UI_process.3.gz %%MAN3%%man/man3/UI_set_default_method.3.gz %%MAN3%%man/man3/UI_set_ex_data.3.gz %%MAN3%%man/man3/UI_set_method.3.gz %%MAN3%%man/man3/UI_set_result.3.gz %%MAN3%%man/man3/UI_set_result_ex.3.gz %%MAN3%%man/man3/UI_string_types.3.gz %%MAN3%%man/man3/USERNOTICE_free.3.gz %%MAN3%%man/man3/USERNOTICE_new.3.gz %%MAN3%%man/man3/X509V3_EXT_d2i.3.gz %%MAN3%%man/man3/X509V3_EXT_i2d.3.gz %%MAN3%%man/man3/X509V3_add1_i2d.3.gz %%MAN3%%man/man3/X509V3_get_d2i.3.gz %%MAN3%%man/man3/X509_ALGOR_cmp.3.gz %%MAN3%%man/man3/X509_ALGOR_copy.3.gz %%MAN3%%man/man3/X509_ALGOR_dup.3.gz %%MAN3%%man/man3/X509_ALGOR_free.3.gz %%MAN3%%man/man3/X509_ALGOR_get0.3.gz %%MAN3%%man/man3/X509_ALGOR_new.3.gz %%MAN3%%man/man3/X509_ALGOR_set0.3.gz %%MAN3%%man/man3/X509_ALGOR_set_md.3.gz %%MAN3%%man/man3/X509_ATTRIBUTE_dup.3.gz %%MAN3%%man/man3/X509_ATTRIBUTE_free.3.gz %%MAN3%%man/man3/X509_ATTRIBUTE_new.3.gz %%MAN3%%man/man3/X509_CERT_AUX_free.3.gz %%MAN3%%man/man3/X509_CERT_AUX_new.3.gz %%MAN3%%man/man3/X509_CINF_free.3.gz %%MAN3%%man/man3/X509_CINF_new.3.gz %%MAN3%%man/man3/X509_CRL_INFO_free.3.gz %%MAN3%%man/man3/X509_CRL_INFO_new.3.gz %%MAN3%%man/man3/X509_CRL_add0_revoked.3.gz %%MAN3%%man/man3/X509_CRL_add1_ext_i2d.3.gz %%MAN3%%man/man3/X509_CRL_add_ext.3.gz %%MAN3%%man/man3/X509_CRL_cmp.3.gz %%MAN3%%man/man3/X509_CRL_delete_ext.3.gz %%MAN3%%man/man3/X509_CRL_digest.3.gz %%MAN3%%man/man3/X509_CRL_dup.3.gz %%MAN3%%man/man3/X509_CRL_free.3.gz %%MAN3%%man/man3/X509_CRL_get0_by_cert.3.gz %%MAN3%%man/man3/X509_CRL_get0_by_serial.3.gz %%MAN3%%man/man3/X509_CRL_get0_extensions.3.gz %%MAN3%%man/man3/X509_CRL_get0_lastUpdate.3.gz %%MAN3%%man/man3/X509_CRL_get0_nextUpdate.3.gz %%MAN3%%man/man3/X509_CRL_get0_signature.3.gz %%MAN3%%man/man3/X509_CRL_get_REVOKED.3.gz %%MAN3%%man/man3/X509_CRL_get_ext.3.gz %%MAN3%%man/man3/X509_CRL_get_ext_by_NID.3.gz %%MAN3%%man/man3/X509_CRL_get_ext_by_OBJ.3.gz %%MAN3%%man/man3/X509_CRL_get_ext_by_critical.3.gz %%MAN3%%man/man3/X509_CRL_get_ext_count.3.gz %%MAN3%%man/man3/X509_CRL_get_ext_d2i.3.gz %%MAN3%%man/man3/X509_CRL_get_issuer.3.gz %%MAN3%%man/man3/X509_CRL_get_signature_nid.3.gz %%MAN3%%man/man3/X509_CRL_get_version.3.gz %%MAN3%%man/man3/X509_CRL_match.3.gz %%MAN3%%man/man3/X509_CRL_new.3.gz %%MAN3%%man/man3/X509_CRL_set1_lastUpdate.3.gz %%MAN3%%man/man3/X509_CRL_set1_nextUpdate.3.gz %%MAN3%%man/man3/X509_CRL_set_issuer_name.3.gz %%MAN3%%man/man3/X509_CRL_set_version.3.gz %%MAN3%%man/man3/X509_CRL_sign.3.gz %%MAN3%%man/man3/X509_CRL_sign_ctx.3.gz %%MAN3%%man/man3/X509_CRL_sort.3.gz %%MAN3%%man/man3/X509_CRL_verify.3.gz %%MAN3%%man/man3/X509_EXTENSION_create_by_NID.3.gz %%MAN3%%man/man3/X509_EXTENSION_create_by_OBJ.3.gz %%MAN3%%man/man3/X509_EXTENSION_dup.3.gz %%MAN3%%man/man3/X509_EXTENSION_free.3.gz %%MAN3%%man/man3/X509_EXTENSION_get_critical.3.gz %%MAN3%%man/man3/X509_EXTENSION_get_data.3.gz %%MAN3%%man/man3/X509_EXTENSION_get_object.3.gz %%MAN3%%man/man3/X509_EXTENSION_new.3.gz %%MAN3%%man/man3/X509_EXTENSION_set_critical.3.gz %%MAN3%%man/man3/X509_EXTENSION_set_data.3.gz %%MAN3%%man/man3/X509_EXTENSION_set_object.3.gz %%MAN3%%man/man3/X509_LOOKUP.3.gz %%MAN3%%man/man3/X509_LOOKUP_METHOD.3.gz %%MAN3%%man/man3/X509_LOOKUP_TYPE.3.gz %%MAN3%%man/man3/X509_LOOKUP_add_dir.3.gz %%MAN3%%man/man3/X509_LOOKUP_by_alias.3.gz %%MAN3%%man/man3/X509_LOOKUP_by_fingerprint.3.gz %%MAN3%%man/man3/X509_LOOKUP_by_issuer_serial.3.gz %%MAN3%%man/man3/X509_LOOKUP_by_subject.3.gz %%MAN3%%man/man3/X509_LOOKUP_ctrl.3.gz %%MAN3%%man/man3/X509_LOOKUP_ctrl_fn.3.gz %%MAN3%%man/man3/X509_LOOKUP_file.3.gz %%MAN3%%man/man3/X509_LOOKUP_free.3.gz %%MAN3%%man/man3/X509_LOOKUP_get_by_alias_fn.3.gz %%MAN3%%man/man3/X509_LOOKUP_get_by_fingerprint_fn.3.gz %%MAN3%%man/man3/X509_LOOKUP_get_by_issuer_serial_fn.3.gz %%MAN3%%man/man3/X509_LOOKUP_get_by_subject_fn.3.gz %%MAN3%%man/man3/X509_LOOKUP_get_method_data.3.gz %%MAN3%%man/man3/X509_LOOKUP_get_store.3.gz %%MAN3%%man/man3/X509_LOOKUP_hash_dir.3.gz %%MAN3%%man/man3/X509_LOOKUP_init.3.gz %%MAN3%%man/man3/X509_LOOKUP_load_file.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_free.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_ctrl.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_free.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_get_by_alias.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_get_by_fingerprint.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_get_by_subject.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_init.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_new_item.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_get_shutdown.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_new.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_ctrl.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_free.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_get_by_alias.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_get_by_fingerprint.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_get_by_subject.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_init.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_new_item.3.gz %%MAN3%%man/man3/X509_LOOKUP_meth_set_shutdown.3.gz %%MAN3%%man/man3/X509_LOOKUP_new.3.gz %%MAN3%%man/man3/X509_LOOKUP_set_method_data.3.gz %%MAN3%%man/man3/X509_LOOKUP_shutdown.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_create_by_NID.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_create_by_OBJ.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_create_by_txt.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_dup.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_free.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_get_data.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_get_object.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_new.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_set_data.3.gz %%MAN3%%man/man3/X509_NAME_ENTRY_set_object.3.gz %%MAN3%%man/man3/X509_NAME_add_entry.3.gz %%MAN3%%man/man3/X509_NAME_add_entry_by_NID.3.gz %%MAN3%%man/man3/X509_NAME_add_entry_by_OBJ.3.gz %%MAN3%%man/man3/X509_NAME_add_entry_by_txt.3.gz %%MAN3%%man/man3/X509_NAME_cmp.3.gz %%MAN3%%man/man3/X509_NAME_delete_entry.3.gz %%MAN3%%man/man3/X509_NAME_digest.3.gz %%MAN3%%man/man3/X509_NAME_dup.3.gz %%MAN3%%man/man3/X509_NAME_entry_count.3.gz %%MAN3%%man/man3/X509_NAME_free.3.gz %%MAN3%%man/man3/X509_NAME_get0_der.3.gz %%MAN3%%man/man3/X509_NAME_get_entry.3.gz %%MAN3%%man/man3/X509_NAME_get_index_by_NID.3.gz %%MAN3%%man/man3/X509_NAME_get_index_by_OBJ.3.gz %%MAN3%%man/man3/X509_NAME_get_text_by_NID.3.gz %%MAN3%%man/man3/X509_NAME_get_text_by_OBJ.3.gz %%MAN3%%man/man3/X509_NAME_new.3.gz %%MAN3%%man/man3/X509_NAME_oneline.3.gz %%MAN3%%man/man3/X509_NAME_print.3.gz %%MAN3%%man/man3/X509_NAME_print_ex.3.gz %%MAN3%%man/man3/X509_NAME_print_ex_fp.3.gz %%MAN3%%man/man3/X509_OBJECT_set1_X509.3.gz %%MAN3%%man/man3/X509_OBJECT_set1_X509_CRL.3.gz %%MAN3%%man/man3/X509_PUBKEY_free.3.gz %%MAN3%%man/man3/X509_PUBKEY_get.3.gz %%MAN3%%man/man3/X509_PUBKEY_get0.3.gz %%MAN3%%man/man3/X509_PUBKEY_get0_param.3.gz %%MAN3%%man/man3/X509_PUBKEY_new.3.gz %%MAN3%%man/man3/X509_PUBKEY_set.3.gz %%MAN3%%man/man3/X509_PUBKEY_set0_param.3.gz %%MAN3%%man/man3/X509_REQ_INFO_free.3.gz %%MAN3%%man/man3/X509_REQ_INFO_new.3.gz %%MAN3%%man/man3/X509_REQ_check_private_key.3.gz %%MAN3%%man/man3/X509_REQ_digest.3.gz %%MAN3%%man/man3/X509_REQ_dup.3.gz %%MAN3%%man/man3/X509_REQ_free.3.gz %%MAN3%%man/man3/X509_REQ_get0_pubkey.3.gz %%MAN3%%man/man3/X509_REQ_get0_signature.3.gz %%MAN3%%man/man3/X509_REQ_get_X509_PUBKEY.3.gz %%MAN3%%man/man3/X509_REQ_get_pubkey.3.gz %%MAN3%%man/man3/X509_REQ_get_signature_nid.3.gz %%MAN3%%man/man3/X509_REQ_get_subject_name.3.gz %%MAN3%%man/man3/X509_REQ_get_version.3.gz %%MAN3%%man/man3/X509_REQ_new.3.gz %%MAN3%%man/man3/X509_REQ_set0_signature.3.gz %%MAN3%%man/man3/X509_REQ_set1_signature_algo.3.gz %%MAN3%%man/man3/X509_REQ_set_pubkey.3.gz %%MAN3%%man/man3/X509_REQ_set_subject_name.3.gz %%MAN3%%man/man3/X509_REQ_set_version.3.gz %%MAN3%%man/man3/X509_REQ_sign.3.gz %%MAN3%%man/man3/X509_REQ_sign_ctx.3.gz %%MAN3%%man/man3/X509_REQ_verify.3.gz %%MAN3%%man/man3/X509_REVOKED_add1_ext_i2d.3.gz %%MAN3%%man/man3/X509_REVOKED_add_ext.3.gz %%MAN3%%man/man3/X509_REVOKED_delete_ext.3.gz %%MAN3%%man/man3/X509_REVOKED_dup.3.gz %%MAN3%%man/man3/X509_REVOKED_free.3.gz %%MAN3%%man/man3/X509_REVOKED_get0_extensions.3.gz %%MAN3%%man/man3/X509_REVOKED_get0_revocationDate.3.gz %%MAN3%%man/man3/X509_REVOKED_get0_serialNumber.3.gz %%MAN3%%man/man3/X509_REVOKED_get_ext.3.gz %%MAN3%%man/man3/X509_REVOKED_get_ext_by_NID.3.gz %%MAN3%%man/man3/X509_REVOKED_get_ext_by_OBJ.3.gz %%MAN3%%man/man3/X509_REVOKED_get_ext_by_critical.3.gz %%MAN3%%man/man3/X509_REVOKED_get_ext_count.3.gz %%MAN3%%man/man3/X509_REVOKED_get_ext_d2i.3.gz %%MAN3%%man/man3/X509_REVOKED_new.3.gz %%MAN3%%man/man3/X509_REVOKED_set_revocationDate.3.gz %%MAN3%%man/man3/X509_REVOKED_set_serialNumber.3.gz %%MAN3%%man/man3/X509_SIG_INFO_get.3.gz %%MAN3%%man/man3/X509_SIG_INFO_set.3.gz %%MAN3%%man/man3/X509_SIG_free.3.gz %%MAN3%%man/man3/X509_SIG_get0.3.gz %%MAN3%%man/man3/X509_SIG_getm.3.gz %%MAN3%%man/man3/X509_SIG_new.3.gz %%MAN3%%man/man3/X509_STORE.3.gz %%MAN3%%man/man3/X509_STORE_CTX_cert_crl_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_check_crl_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_check_issued_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_check_policy_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_check_revocation_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_cleanup.3.gz %%MAN3%%man/man3/X509_STORE_CTX_cleanup_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_free.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get0_cert.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get0_chain.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get0_param.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get0_untrusted.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get1_chain.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_cert_crl.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_check_crl.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_check_issued.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_check_policy.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_check_revocation.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_cleanup.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_crl_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_current_cert.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_error.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_error_depth.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_ex_data.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_ex_new_index.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_get_crl.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_get_issuer.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_issuer_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_lookup_certs.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_lookup_crls.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_num_untrusted.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_verify.3.gz %%MAN3%%man/man3/X509_STORE_CTX_get_verify_cb.3.gz %%MAN3%%man/man3/X509_STORE_CTX_init.3.gz %%MAN3%%man/man3/X509_STORE_CTX_lookup_certs_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_lookup_crls_fn.3.gz %%MAN3%%man/man3/X509_STORE_CTX_new.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set0_crls.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set0_param.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set0_trusted_stack.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set0_untrusted.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set0_verified_chain.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_cert.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_current_cert.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_default.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_error.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_error_depth.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_ex_data.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_verify.3.gz %%MAN3%%man/man3/X509_STORE_CTX_set_verify_cb.3.gz %%MAN3%%man/man3/X509_STORE_CTX_verify_cb.3.gz %%MAN3%%man/man3/X509_STORE_CTX_verify_fn.3.gz %%MAN3%%man/man3/X509_STORE_add_cert.3.gz %%MAN3%%man/man3/X509_STORE_add_crl.3.gz %%MAN3%%man/man3/X509_STORE_add_lookup.3.gz %%MAN3%%man/man3/X509_STORE_free.3.gz %%MAN3%%man/man3/X509_STORE_get0_objects.3.gz %%MAN3%%man/man3/X509_STORE_get0_param.3.gz %%MAN3%%man/man3/X509_STORE_get_cert_crl.3.gz %%MAN3%%man/man3/X509_STORE_get_check_crl.3.gz %%MAN3%%man/man3/X509_STORE_get_check_issued.3.gz %%MAN3%%man/man3/X509_STORE_get_check_policy.3.gz %%MAN3%%man/man3/X509_STORE_get_check_revocation.3.gz %%MAN3%%man/man3/X509_STORE_get_cleanup.3.gz %%MAN3%%man/man3/X509_STORE_get_ex_data.3.gz %%MAN3%%man/man3/X509_STORE_get_ex_new_index.3.gz %%MAN3%%man/man3/X509_STORE_get_get_crl.3.gz %%MAN3%%man/man3/X509_STORE_get_get_issuer.3.gz %%MAN3%%man/man3/X509_STORE_get_lookup_certs.3.gz %%MAN3%%man/man3/X509_STORE_get_lookup_crls.3.gz %%MAN3%%man/man3/X509_STORE_get_verify_cb.3.gz %%MAN3%%man/man3/X509_STORE_load_locations.3.gz %%MAN3%%man/man3/X509_STORE_lock.3.gz %%MAN3%%man/man3/X509_STORE_new.3.gz %%MAN3%%man/man3/X509_STORE_set1_param.3.gz %%MAN3%%man/man3/X509_STORE_set_cert_crl.3.gz %%MAN3%%man/man3/X509_STORE_set_check_crl.3.gz %%MAN3%%man/man3/X509_STORE_set_check_issued.3.gz %%MAN3%%man/man3/X509_STORE_set_check_policy.3.gz %%MAN3%%man/man3/X509_STORE_set_check_revocation.3.gz %%MAN3%%man/man3/X509_STORE_set_cleanup.3.gz %%MAN3%%man/man3/X509_STORE_set_default_paths.3.gz %%MAN3%%man/man3/X509_STORE_set_depth.3.gz %%MAN3%%man/man3/X509_STORE_set_ex_data.3.gz %%MAN3%%man/man3/X509_STORE_set_flags.3.gz %%MAN3%%man/man3/X509_STORE_set_get_crl.3.gz %%MAN3%%man/man3/X509_STORE_set_get_issuer.3.gz %%MAN3%%man/man3/X509_STORE_set_lookup_certs.3.gz %%MAN3%%man/man3/X509_STORE_set_lookup_crls.3.gz %%MAN3%%man/man3/X509_STORE_set_lookup_crls_cb.3.gz %%MAN3%%man/man3/X509_STORE_set_purpose.3.gz %%MAN3%%man/man3/X509_STORE_set_trust.3.gz %%MAN3%%man/man3/X509_STORE_set_verify.3.gz %%MAN3%%man/man3/X509_STORE_set_verify_cb.3.gz %%MAN3%%man/man3/X509_STORE_set_verify_cb_func.3.gz %%MAN3%%man/man3/X509_STORE_set_verify_func.3.gz %%MAN3%%man/man3/X509_STORE_unlock.3.gz %%MAN3%%man/man3/X509_STORE_up_ref.3.gz %%MAN3%%man/man3/X509_VAL_free.3.gz %%MAN3%%man/man3/X509_VAL_new.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_add0_policy.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_add1_host.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_clear_flags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get0_peername.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get_auth_level.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get_depth.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get_flags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get_hostflags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get_inh_flags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_get_time.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set1_email.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set1_host.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set1_ip.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set1_ip_asc.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set1_policies.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_auth_level.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_depth.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_flags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_hostflags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_inh_flags.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_purpose.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_time.3.gz %%MAN3%%man/man3/X509_VERIFY_PARAM_set_trust.3.gz %%MAN3%%man/man3/X509_add1_ext_i2d.3.gz %%MAN3%%man/man3/X509_add_ext.3.gz %%MAN3%%man/man3/X509_chain_up_ref.3.gz %%MAN3%%man/man3/X509_check_ca.3.gz %%MAN3%%man/man3/X509_check_email.3.gz %%MAN3%%man/man3/X509_check_host.3.gz %%MAN3%%man/man3/X509_check_ip.3.gz %%MAN3%%man/man3/X509_check_ip_asc.3.gz %%MAN3%%man/man3/X509_check_issued.3.gz %%MAN3%%man/man3/X509_check_private_key.3.gz %%MAN3%%man/man3/X509_check_purpose.3.gz %%MAN3%%man/man3/X509_cmp.3.gz %%MAN3%%man/man3/X509_cmp_current_time.3.gz %%MAN3%%man/man3/X509_cmp_time.3.gz %%MAN3%%man/man3/X509_delete_ext.3.gz %%MAN3%%man/man3/X509_digest.3.gz %%MAN3%%man/man3/X509_dup.3.gz %%MAN3%%man/man3/X509_free.3.gz %%MAN3%%man/man3/X509_get0_authority_issuer.3.gz %%MAN3%%man/man3/X509_get0_authority_key_id.3.gz %%MAN3%%man/man3/X509_get0_authority_serial.3.gz %%MAN3%%man/man3/X509_get0_extensions.3.gz %%MAN3%%man/man3/X509_get0_notAfter.3.gz %%MAN3%%man/man3/X509_get0_notBefore.3.gz %%MAN3%%man/man3/X509_get0_pubkey.3.gz %%MAN3%%man/man3/X509_get0_serialNumber.3.gz %%MAN3%%man/man3/X509_get0_signature.3.gz %%MAN3%%man/man3/X509_get0_subject_key_id.3.gz %%MAN3%%man/man3/X509_get0_tbs_sigalg.3.gz %%MAN3%%man/man3/X509_get0_uids.3.gz %%MAN3%%man/man3/X509_get_X509_PUBKEY.3.gz %%MAN3%%man/man3/X509_get_ex_data.3.gz %%MAN3%%man/man3/X509_get_ex_new_index.3.gz %%MAN3%%man/man3/X509_get_ext.3.gz %%MAN3%%man/man3/X509_get_ext_by_NID.3.gz %%MAN3%%man/man3/X509_get_ext_by_OBJ.3.gz %%MAN3%%man/man3/X509_get_ext_by_critical.3.gz %%MAN3%%man/man3/X509_get_ext_count.3.gz %%MAN3%%man/man3/X509_get_ext_d2i.3.gz %%MAN3%%man/man3/X509_get_extended_key_usage.3.gz %%MAN3%%man/man3/X509_get_extension_flags.3.gz %%MAN3%%man/man3/X509_get_issuer_name.3.gz %%MAN3%%man/man3/X509_get_key_usage.3.gz %%MAN3%%man/man3/X509_get_pathlen.3.gz %%MAN3%%man/man3/X509_get_proxy_pathlen.3.gz %%MAN3%%man/man3/X509_get_pubkey.3.gz %%MAN3%%man/man3/X509_get_serialNumber.3.gz %%MAN3%%man/man3/X509_get_signature_info.3.gz %%MAN3%%man/man3/X509_get_signature_nid.3.gz %%MAN3%%man/man3/X509_get_subject_name.3.gz %%MAN3%%man/man3/X509_get_version.3.gz %%MAN3%%man/man3/X509_getm_notAfter.3.gz %%MAN3%%man/man3/X509_getm_notBefore.3.gz %%MAN3%%man/man3/X509_issuer_and_serial_cmp.3.gz %%MAN3%%man/man3/X509_issuer_name_cmp.3.gz %%MAN3%%man/man3/X509_load_cert_crl_file.3.gz %%MAN3%%man/man3/X509_load_cert_file.3.gz %%MAN3%%man/man3/X509_load_crl_file.3.gz %%MAN3%%man/man3/X509_new.3.gz %%MAN3%%man/man3/X509_pubkey_digest.3.gz %%MAN3%%man/man3/X509_set1_notAfter.3.gz %%MAN3%%man/man3/X509_set1_notBefore.3.gz %%MAN3%%man/man3/X509_set_ex_data.3.gz %%MAN3%%man/man3/X509_set_issuer_name.3.gz %%MAN3%%man/man3/X509_set_proxy_flag.3.gz %%MAN3%%man/man3/X509_set_proxy_pathlen.3.gz %%MAN3%%man/man3/X509_set_pubkey.3.gz %%MAN3%%man/man3/X509_set_serialNumber.3.gz %%MAN3%%man/man3/X509_set_subject_name.3.gz %%MAN3%%man/man3/X509_set_version.3.gz %%MAN3%%man/man3/X509_sign.3.gz %%MAN3%%man/man3/X509_sign_ctx.3.gz %%MAN3%%man/man3/X509_subject_name_cmp.3.gz %%MAN3%%man/man3/X509_time_adj.3.gz %%MAN3%%man/man3/X509_time_adj_ex.3.gz %%MAN3%%man/man3/X509_up_ref.3.gz %%MAN3%%man/man3/X509_verify.3.gz %%MAN3%%man/man3/X509_verify_cert.3.gz %%MAN3%%man/man3/X509_verify_cert_error_string.3.gz %%MAN3%%man/man3/X509v3_add_ext.3.gz %%MAN3%%man/man3/X509v3_delete_ext.3.gz %%MAN3%%man/man3/X509v3_get_ext.3.gz %%MAN3%%man/man3/X509v3_get_ext_by_NID.3.gz %%MAN3%%man/man3/X509v3_get_ext_by_OBJ.3.gz %%MAN3%%man/man3/X509v3_get_ext_by_critical.3.gz %%MAN3%%man/man3/X509v3_get_ext_count.3.gz %%MAN3%%man/man3/custom_ext_add_cb.3.gz %%MAN3%%man/man3/custom_ext_free_cb.3.gz %%MAN3%%man/man3/custom_ext_parse_cb.3.gz %%MAN3%%man/man3/d2i_ACCESS_DESCRIPTION.3.gz %%MAN3%%man/man3/d2i_ADMISSIONS.3.gz %%MAN3%%man/man3/d2i_ADMISSION_SYNTAX.3.gz %%MAN3%%man/man3/d2i_ASIdOrRange.3.gz %%MAN3%%man/man3/d2i_ASIdentifierChoice.3.gz %%MAN3%%man/man3/d2i_ASIdentifiers.3.gz %%MAN3%%man/man3/d2i_ASN1_BIT_STRING.3.gz %%MAN3%%man/man3/d2i_ASN1_BMPSTRING.3.gz %%MAN3%%man/man3/d2i_ASN1_ENUMERATED.3.gz %%MAN3%%man/man3/d2i_ASN1_GENERALIZEDTIME.3.gz %%MAN3%%man/man3/d2i_ASN1_GENERALSTRING.3.gz %%MAN3%%man/man3/d2i_ASN1_IA5STRING.3.gz %%MAN3%%man/man3/d2i_ASN1_INTEGER.3.gz %%MAN3%%man/man3/d2i_ASN1_NULL.3.gz %%MAN3%%man/man3/d2i_ASN1_OBJECT.3.gz %%MAN3%%man/man3/d2i_ASN1_OCTET_STRING.3.gz %%MAN3%%man/man3/d2i_ASN1_PRINTABLE.3.gz %%MAN3%%man/man3/d2i_ASN1_PRINTABLESTRING.3.gz %%MAN3%%man/man3/d2i_ASN1_SEQUENCE_ANY.3.gz %%MAN3%%man/man3/d2i_ASN1_SET_ANY.3.gz %%MAN3%%man/man3/d2i_ASN1_T61STRING.3.gz %%MAN3%%man/man3/d2i_ASN1_TIME.3.gz %%MAN3%%man/man3/d2i_ASN1_TYPE.3.gz %%MAN3%%man/man3/d2i_ASN1_UINTEGER.3.gz %%MAN3%%man/man3/d2i_ASN1_UNIVERSALSTRING.3.gz %%MAN3%%man/man3/d2i_ASN1_UTCTIME.3.gz %%MAN3%%man/man3/d2i_ASN1_UTF8STRING.3.gz %%MAN3%%man/man3/d2i_ASN1_VISIBLESTRING.3.gz %%MAN3%%man/man3/d2i_ASRange.3.gz %%MAN3%%man/man3/d2i_AUTHORITY_INFO_ACCESS.3.gz %%MAN3%%man/man3/d2i_AUTHORITY_KEYID.3.gz %%MAN3%%man/man3/d2i_AutoPrivateKey.3.gz %%MAN3%%man/man3/d2i_BASIC_CONSTRAINTS.3.gz %%MAN3%%man/man3/d2i_CERTIFICATEPOLICIES.3.gz %%MAN3%%man/man3/d2i_CMS_ContentInfo.3.gz %%MAN3%%man/man3/d2i_CMS_ReceiptRequest.3.gz %%MAN3%%man/man3/d2i_CMS_bio.3.gz %%MAN3%%man/man3/d2i_CRL_DIST_POINTS.3.gz %%MAN3%%man/man3/d2i_DHparams.3.gz %%MAN3%%man/man3/d2i_DHxparams.3.gz %%MAN3%%man/man3/d2i_DIRECTORYSTRING.3.gz %%MAN3%%man/man3/d2i_DISPLAYTEXT.3.gz %%MAN3%%man/man3/d2i_DIST_POINT.3.gz %%MAN3%%man/man3/d2i_DIST_POINT_NAME.3.gz %%MAN3%%man/man3/d2i_DSAPrivateKey.3.gz %%MAN3%%man/man3/d2i_DSAPrivateKey_bio.3.gz %%MAN3%%man/man3/d2i_DSAPrivateKey_fp.3.gz %%MAN3%%man/man3/d2i_DSAPublicKey.3.gz %%MAN3%%man/man3/d2i_DSA_PUBKEY.3.gz %%MAN3%%man/man3/d2i_DSA_PUBKEY_bio.3.gz %%MAN3%%man/man3/d2i_DSA_PUBKEY_fp.3.gz %%MAN3%%man/man3/d2i_DSA_SIG.3.gz %%MAN3%%man/man3/d2i_DSAparams.3.gz %%MAN3%%man/man3/d2i_ECDSA_SIG.3.gz %%MAN3%%man/man3/d2i_ECPKParameters.3.gz %%MAN3%%man/man3/d2i_ECParameters.3.gz %%MAN3%%man/man3/d2i_ECPrivateKey.3.gz %%MAN3%%man/man3/d2i_ECPrivateKey_bio.3.gz %%MAN3%%man/man3/d2i_ECPrivateKey_fp.3.gz %%MAN3%%man/man3/d2i_EC_PUBKEY.3.gz %%MAN3%%man/man3/d2i_EC_PUBKEY_bio.3.gz %%MAN3%%man/man3/d2i_EC_PUBKEY_fp.3.gz %%MAN3%%man/man3/d2i_EDIPARTYNAME.3.gz %%MAN3%%man/man3/d2i_ESS_CERT_ID.3.gz %%MAN3%%man/man3/d2i_ESS_ISSUER_SERIAL.3.gz %%MAN3%%man/man3/d2i_ESS_SIGNING_CERT.3.gz %%MAN3%%man/man3/d2i_EXTENDED_KEY_USAGE.3.gz %%MAN3%%man/man3/d2i_GENERAL_NAME.3.gz %%MAN3%%man/man3/d2i_GENERAL_NAMES.3.gz %%MAN3%%man/man3/d2i_IPAddressChoice.3.gz %%MAN3%%man/man3/d2i_IPAddressFamily.3.gz %%MAN3%%man/man3/d2i_IPAddressOrRange.3.gz %%MAN3%%man/man3/d2i_IPAddressRange.3.gz %%MAN3%%man/man3/d2i_ISSUING_DIST_POINT.3.gz %%MAN3%%man/man3/d2i_NAMING_AUTHORITY.3.gz %%MAN3%%man/man3/d2i_NETSCAPE_CERT_SEQUENCE.3.gz %%MAN3%%man/man3/d2i_NETSCAPE_SPKAC.3.gz %%MAN3%%man/man3/d2i_NETSCAPE_SPKI.3.gz %%MAN3%%man/man3/d2i_NOTICEREF.3.gz %%MAN3%%man/man3/d2i_OCSP_BASICRESP.3.gz %%MAN3%%man/man3/d2i_OCSP_CERTID.3.gz %%MAN3%%man/man3/d2i_OCSP_CERTSTATUS.3.gz %%MAN3%%man/man3/d2i_OCSP_CRLID.3.gz %%MAN3%%man/man3/d2i_OCSP_ONEREQ.3.gz %%MAN3%%man/man3/d2i_OCSP_REQINFO.3.gz %%MAN3%%man/man3/d2i_OCSP_REQUEST.3.gz %%MAN3%%man/man3/d2i_OCSP_RESPBYTES.3.gz %%MAN3%%man/man3/d2i_OCSP_RESPDATA.3.gz %%MAN3%%man/man3/d2i_OCSP_RESPID.3.gz %%MAN3%%man/man3/d2i_OCSP_RESPONSE.3.gz %%MAN3%%man/man3/d2i_OCSP_REVOKEDINFO.3.gz %%MAN3%%man/man3/d2i_OCSP_SERVICELOC.3.gz %%MAN3%%man/man3/d2i_OCSP_SIGNATURE.3.gz %%MAN3%%man/man3/d2i_OCSP_SINGLERESP.3.gz %%MAN3%%man/man3/d2i_OTHERNAME.3.gz %%MAN3%%man/man3/d2i_PBE2PARAM.3.gz %%MAN3%%man/man3/d2i_PBEPARAM.3.gz %%MAN3%%man/man3/d2i_PBKDF2PARAM.3.gz %%MAN3%%man/man3/d2i_PKCS12.3.gz %%MAN3%%man/man3/d2i_PKCS12_BAGS.3.gz %%MAN3%%man/man3/d2i_PKCS12_MAC_DATA.3.gz %%MAN3%%man/man3/d2i_PKCS12_SAFEBAG.3.gz %%MAN3%%man/man3/d2i_PKCS12_bio.3.gz %%MAN3%%man/man3/d2i_PKCS12_fp.3.gz %%MAN3%%man/man3/d2i_PKCS7.3.gz %%MAN3%%man/man3/d2i_PKCS7_DIGEST.3.gz %%MAN3%%man/man3/d2i_PKCS7_ENCRYPT.3.gz %%MAN3%%man/man3/d2i_PKCS7_ENC_CONTENT.3.gz %%MAN3%%man/man3/d2i_PKCS7_ENVELOPE.3.gz %%MAN3%%man/man3/d2i_PKCS7_ISSUER_AND_SERIAL.3.gz %%MAN3%%man/man3/d2i_PKCS7_RECIP_INFO.3.gz %%MAN3%%man/man3/d2i_PKCS7_SIGNED.3.gz %%MAN3%%man/man3/d2i_PKCS7_SIGNER_INFO.3.gz %%MAN3%%man/man3/d2i_PKCS7_SIGN_ENVELOPE.3.gz %%MAN3%%man/man3/d2i_PKCS7_bio.3.gz %%MAN3%%man/man3/d2i_PKCS7_fp.3.gz %%MAN3%%man/man3/d2i_PKCS8PrivateKey_bio.3.gz %%MAN3%%man/man3/d2i_PKCS8PrivateKey_fp.3.gz %%MAN3%%man/man3/d2i_PKCS8_PRIV_KEY_INFO.3.gz %%MAN3%%man/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.3.gz %%MAN3%%man/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.3.gz %%MAN3%%man/man3/d2i_PKCS8_bio.3.gz %%MAN3%%man/man3/d2i_PKCS8_fp.3.gz %%MAN3%%man/man3/d2i_PKEY_USAGE_PERIOD.3.gz %%MAN3%%man/man3/d2i_POLICYINFO.3.gz %%MAN3%%man/man3/d2i_POLICYQUALINFO.3.gz %%MAN3%%man/man3/d2i_PROFESSION_INFO.3.gz %%MAN3%%man/man3/d2i_PROXY_CERT_INFO_EXTENSION.3.gz %%MAN3%%man/man3/d2i_PROXY_POLICY.3.gz %%MAN3%%man/man3/d2i_PUBKEY.3.gz %%MAN3%%man/man3/d2i_PUBKEY_bio.3.gz %%MAN3%%man/man3/d2i_PUBKEY_fp.3.gz %%MAN3%%man/man3/d2i_PrivateKey.3.gz %%MAN3%%man/man3/d2i_PrivateKey_bio.3.gz %%MAN3%%man/man3/d2i_PrivateKey_fp.3.gz %%MAN3%%man/man3/d2i_PublicKey.3.gz %%MAN3%%man/man3/d2i_RSAPrivateKey.3.gz %%MAN3%%man/man3/d2i_RSAPrivateKey_bio.3.gz %%MAN3%%man/man3/d2i_RSAPrivateKey_fp.3.gz %%MAN3%%man/man3/d2i_RSAPublicKey.3.gz %%MAN3%%man/man3/d2i_RSAPublicKey_bio.3.gz %%MAN3%%man/man3/d2i_RSAPublicKey_fp.3.gz %%MAN3%%man/man3/d2i_RSA_OAEP_PARAMS.3.gz %%MAN3%%man/man3/d2i_RSA_PSS_PARAMS.3.gz %%MAN3%%man/man3/d2i_RSA_PUBKEY.3.gz %%MAN3%%man/man3/d2i_RSA_PUBKEY_bio.3.gz %%MAN3%%man/man3/d2i_RSA_PUBKEY_fp.3.gz %%MAN3%%man/man3/d2i_SCRYPT_PARAMS.3.gz %%MAN3%%man/man3/d2i_SCT_LIST.3.gz %%MAN3%%man/man3/d2i_SSL_SESSION.3.gz %%MAN3%%man/man3/d2i_SXNET.3.gz %%MAN3%%man/man3/d2i_SXNETID.3.gz %%MAN3%%man/man3/d2i_TS_ACCURACY.3.gz %%MAN3%%man/man3/d2i_TS_MSG_IMPRINT.3.gz %%MAN3%%man/man3/d2i_TS_MSG_IMPRINT_bio.3.gz %%MAN3%%man/man3/d2i_TS_MSG_IMPRINT_fp.3.gz %%MAN3%%man/man3/d2i_TS_REQ.3.gz %%MAN3%%man/man3/d2i_TS_REQ_bio.3.gz %%MAN3%%man/man3/d2i_TS_REQ_fp.3.gz %%MAN3%%man/man3/d2i_TS_RESP.3.gz %%MAN3%%man/man3/d2i_TS_RESP_bio.3.gz %%MAN3%%man/man3/d2i_TS_RESP_fp.3.gz %%MAN3%%man/man3/d2i_TS_STATUS_INFO.3.gz %%MAN3%%man/man3/d2i_TS_TST_INFO.3.gz %%MAN3%%man/man3/d2i_TS_TST_INFO_bio.3.gz %%MAN3%%man/man3/d2i_TS_TST_INFO_fp.3.gz %%MAN3%%man/man3/d2i_USERNOTICE.3.gz %%MAN3%%man/man3/d2i_X509.3.gz %%MAN3%%man/man3/d2i_X509_ALGOR.3.gz %%MAN3%%man/man3/d2i_X509_ALGORS.3.gz %%MAN3%%man/man3/d2i_X509_ATTRIBUTE.3.gz %%MAN3%%man/man3/d2i_X509_AUX.3.gz %%MAN3%%man/man3/d2i_X509_CERT_AUX.3.gz %%MAN3%%man/man3/d2i_X509_CINF.3.gz %%MAN3%%man/man3/d2i_X509_CRL.3.gz %%MAN3%%man/man3/d2i_X509_CRL_INFO.3.gz %%MAN3%%man/man3/d2i_X509_CRL_bio.3.gz %%MAN3%%man/man3/d2i_X509_CRL_fp.3.gz %%MAN3%%man/man3/d2i_X509_EXTENSION.3.gz %%MAN3%%man/man3/d2i_X509_EXTENSIONS.3.gz %%MAN3%%man/man3/d2i_X509_NAME.3.gz %%MAN3%%man/man3/d2i_X509_NAME_ENTRY.3.gz %%MAN3%%man/man3/d2i_X509_PUBKEY.3.gz %%MAN3%%man/man3/d2i_X509_REQ.3.gz %%MAN3%%man/man3/d2i_X509_REQ_INFO.3.gz %%MAN3%%man/man3/d2i_X509_REQ_bio.3.gz %%MAN3%%man/man3/d2i_X509_REQ_fp.3.gz %%MAN3%%man/man3/d2i_X509_REVOKED.3.gz %%MAN3%%man/man3/d2i_X509_SIG.3.gz %%MAN3%%man/man3/d2i_X509_VAL.3.gz %%MAN3%%man/man3/i2d_ACCESS_DESCRIPTION.3.gz %%MAN3%%man/man3/i2d_ADMISSIONS.3.gz %%MAN3%%man/man3/i2d_ADMISSION_SYNTAX.3.gz %%MAN3%%man/man3/i2d_ASIdOrRange.3.gz %%MAN3%%man/man3/i2d_ASIdentifierChoice.3.gz %%MAN3%%man/man3/i2d_ASIdentifiers.3.gz %%MAN3%%man/man3/i2d_ASN1_BIT_STRING.3.gz %%MAN3%%man/man3/i2d_ASN1_BMPSTRING.3.gz %%MAN3%%man/man3/i2d_ASN1_ENUMERATED.3.gz %%MAN3%%man/man3/i2d_ASN1_GENERALIZEDTIME.3.gz %%MAN3%%man/man3/i2d_ASN1_GENERALSTRING.3.gz %%MAN3%%man/man3/i2d_ASN1_IA5STRING.3.gz %%MAN3%%man/man3/i2d_ASN1_INTEGER.3.gz %%MAN3%%man/man3/i2d_ASN1_NULL.3.gz %%MAN3%%man/man3/i2d_ASN1_OBJECT.3.gz %%MAN3%%man/man3/i2d_ASN1_OCTET_STRING.3.gz %%MAN3%%man/man3/i2d_ASN1_PRINTABLE.3.gz %%MAN3%%man/man3/i2d_ASN1_PRINTABLESTRING.3.gz %%MAN3%%man/man3/i2d_ASN1_SEQUENCE_ANY.3.gz %%MAN3%%man/man3/i2d_ASN1_SET_ANY.3.gz %%MAN3%%man/man3/i2d_ASN1_T61STRING.3.gz %%MAN3%%man/man3/i2d_ASN1_TIME.3.gz %%MAN3%%man/man3/i2d_ASN1_TYPE.3.gz %%MAN3%%man/man3/i2d_ASN1_UNIVERSALSTRING.3.gz %%MAN3%%man/man3/i2d_ASN1_UTCTIME.3.gz %%MAN3%%man/man3/i2d_ASN1_UTF8STRING.3.gz %%MAN3%%man/man3/i2d_ASN1_VISIBLESTRING.3.gz %%MAN3%%man/man3/i2d_ASN1_bio_stream.3.gz %%MAN3%%man/man3/i2d_ASRange.3.gz %%MAN3%%man/man3/i2d_AUTHORITY_INFO_ACCESS.3.gz %%MAN3%%man/man3/i2d_AUTHORITY_KEYID.3.gz %%MAN3%%man/man3/i2d_BASIC_CONSTRAINTS.3.gz %%MAN3%%man/man3/i2d_CERTIFICATEPOLICIES.3.gz %%MAN3%%man/man3/i2d_CMS_ContentInfo.3.gz %%MAN3%%man/man3/i2d_CMS_ReceiptRequest.3.gz %%MAN3%%man/man3/i2d_CMS_bio.3.gz %%MAN3%%man/man3/i2d_CMS_bio_stream.3.gz %%MAN3%%man/man3/i2d_CRL_DIST_POINTS.3.gz %%MAN3%%man/man3/i2d_DHparams.3.gz %%MAN3%%man/man3/i2d_DHxparams.3.gz %%MAN3%%man/man3/i2d_DIRECTORYSTRING.3.gz %%MAN3%%man/man3/i2d_DISPLAYTEXT.3.gz %%MAN3%%man/man3/i2d_DIST_POINT.3.gz %%MAN3%%man/man3/i2d_DIST_POINT_NAME.3.gz %%MAN3%%man/man3/i2d_DSAPrivateKey.3.gz %%MAN3%%man/man3/i2d_DSAPrivateKey_bio.3.gz %%MAN3%%man/man3/i2d_DSAPrivateKey_fp.3.gz %%MAN3%%man/man3/i2d_DSAPublicKey.3.gz %%MAN3%%man/man3/i2d_DSA_PUBKEY.3.gz %%MAN3%%man/man3/i2d_DSA_PUBKEY_bio.3.gz %%MAN3%%man/man3/i2d_DSA_PUBKEY_fp.3.gz %%MAN3%%man/man3/i2d_DSA_SIG.3.gz %%MAN3%%man/man3/i2d_DSAparams.3.gz %%MAN3%%man/man3/i2d_ECDSA_SIG.3.gz %%MAN3%%man/man3/i2d_ECPKParameters.3.gz %%MAN3%%man/man3/i2d_ECParameters.3.gz %%MAN3%%man/man3/i2d_ECPrivateKey.3.gz %%MAN3%%man/man3/i2d_ECPrivateKey_bio.3.gz %%MAN3%%man/man3/i2d_ECPrivateKey_fp.3.gz %%MAN3%%man/man3/i2d_EC_PUBKEY.3.gz %%MAN3%%man/man3/i2d_EC_PUBKEY_bio.3.gz %%MAN3%%man/man3/i2d_EC_PUBKEY_fp.3.gz %%MAN3%%man/man3/i2d_EDIPARTYNAME.3.gz %%MAN3%%man/man3/i2d_ESS_CERT_ID.3.gz %%MAN3%%man/man3/i2d_ESS_ISSUER_SERIAL.3.gz %%MAN3%%man/man3/i2d_ESS_SIGNING_CERT.3.gz %%MAN3%%man/man3/i2d_EXTENDED_KEY_USAGE.3.gz %%MAN3%%man/man3/i2d_GENERAL_NAME.3.gz %%MAN3%%man/man3/i2d_GENERAL_NAMES.3.gz %%MAN3%%man/man3/i2d_IPAddressChoice.3.gz %%MAN3%%man/man3/i2d_IPAddressFamily.3.gz %%MAN3%%man/man3/i2d_IPAddressOrRange.3.gz %%MAN3%%man/man3/i2d_IPAddressRange.3.gz %%MAN3%%man/man3/i2d_ISSUING_DIST_POINT.3.gz %%MAN3%%man/man3/i2d_NAMING_AUTHORITY.3.gz %%MAN3%%man/man3/i2d_NETSCAPE_CERT_SEQUENCE.3.gz %%MAN3%%man/man3/i2d_NETSCAPE_SPKAC.3.gz %%MAN3%%man/man3/i2d_NETSCAPE_SPKI.3.gz %%MAN3%%man/man3/i2d_NOTICEREF.3.gz %%MAN3%%man/man3/i2d_OCSP_BASICRESP.3.gz %%MAN3%%man/man3/i2d_OCSP_CERTID.3.gz %%MAN3%%man/man3/i2d_OCSP_CERTSTATUS.3.gz %%MAN3%%man/man3/i2d_OCSP_CRLID.3.gz %%MAN3%%man/man3/i2d_OCSP_ONEREQ.3.gz %%MAN3%%man/man3/i2d_OCSP_REQINFO.3.gz %%MAN3%%man/man3/i2d_OCSP_REQUEST.3.gz %%MAN3%%man/man3/i2d_OCSP_RESPBYTES.3.gz %%MAN3%%man/man3/i2d_OCSP_RESPDATA.3.gz %%MAN3%%man/man3/i2d_OCSP_RESPID.3.gz %%MAN3%%man/man3/i2d_OCSP_RESPONSE.3.gz %%MAN3%%man/man3/i2d_OCSP_REVOKEDINFO.3.gz %%MAN3%%man/man3/i2d_OCSP_SERVICELOC.3.gz %%MAN3%%man/man3/i2d_OCSP_SIGNATURE.3.gz %%MAN3%%man/man3/i2d_OCSP_SINGLERESP.3.gz %%MAN3%%man/man3/i2d_OTHERNAME.3.gz %%MAN3%%man/man3/i2d_PBE2PARAM.3.gz %%MAN3%%man/man3/i2d_PBEPARAM.3.gz %%MAN3%%man/man3/i2d_PBKDF2PARAM.3.gz %%MAN3%%man/man3/i2d_PKCS12.3.gz %%MAN3%%man/man3/i2d_PKCS12_BAGS.3.gz %%MAN3%%man/man3/i2d_PKCS12_MAC_DATA.3.gz %%MAN3%%man/man3/i2d_PKCS12_SAFEBAG.3.gz %%MAN3%%man/man3/i2d_PKCS12_bio.3.gz %%MAN3%%man/man3/i2d_PKCS12_fp.3.gz %%MAN3%%man/man3/i2d_PKCS7.3.gz %%MAN3%%man/man3/i2d_PKCS7_DIGEST.3.gz %%MAN3%%man/man3/i2d_PKCS7_ENCRYPT.3.gz %%MAN3%%man/man3/i2d_PKCS7_ENC_CONTENT.3.gz %%MAN3%%man/man3/i2d_PKCS7_ENVELOPE.3.gz %%MAN3%%man/man3/i2d_PKCS7_ISSUER_AND_SERIAL.3.gz %%MAN3%%man/man3/i2d_PKCS7_NDEF.3.gz %%MAN3%%man/man3/i2d_PKCS7_RECIP_INFO.3.gz %%MAN3%%man/man3/i2d_PKCS7_SIGNED.3.gz %%MAN3%%man/man3/i2d_PKCS7_SIGNER_INFO.3.gz %%MAN3%%man/man3/i2d_PKCS7_SIGN_ENVELOPE.3.gz %%MAN3%%man/man3/i2d_PKCS7_bio.3.gz %%MAN3%%man/man3/i2d_PKCS7_bio_stream.3.gz %%MAN3%%man/man3/i2d_PKCS7_fp.3.gz %%MAN3%%man/man3/i2d_PKCS8PrivateKeyInfo_bio.3.gz %%MAN3%%man/man3/i2d_PKCS8PrivateKeyInfo_fp.3.gz %%MAN3%%man/man3/i2d_PKCS8PrivateKey_bio.3.gz %%MAN3%%man/man3/i2d_PKCS8PrivateKey_fp.3.gz %%MAN3%%man/man3/i2d_PKCS8PrivateKey_nid_bio.3.gz %%MAN3%%man/man3/i2d_PKCS8PrivateKey_nid_fp.3.gz %%MAN3%%man/man3/i2d_PKCS8_PRIV_KEY_INFO.3.gz %%MAN3%%man/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.3.gz %%MAN3%%man/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.3.gz %%MAN3%%man/man3/i2d_PKCS8_bio.3.gz %%MAN3%%man/man3/i2d_PKCS8_fp.3.gz %%MAN3%%man/man3/i2d_PKEY_USAGE_PERIOD.3.gz %%MAN3%%man/man3/i2d_POLICYINFO.3.gz %%MAN3%%man/man3/i2d_POLICYQUALINFO.3.gz %%MAN3%%man/man3/i2d_PROFESSION_INFO.3.gz %%MAN3%%man/man3/i2d_PROXY_CERT_INFO_EXTENSION.3.gz %%MAN3%%man/man3/i2d_PROXY_POLICY.3.gz %%MAN3%%man/man3/i2d_PUBKEY.3.gz %%MAN3%%man/man3/i2d_PUBKEY_bio.3.gz %%MAN3%%man/man3/i2d_PUBKEY_fp.3.gz %%MAN3%%man/man3/i2d_PrivateKey.3.gz %%MAN3%%man/man3/i2d_PublicKey.3.gz %%MAN3%%man/man3/i2d_RSAPrivateKey.3.gz %%MAN3%%man/man3/i2d_RSAPrivateKey_bio.3.gz %%MAN3%%man/man3/i2d_RSAPrivateKey_fp.3.gz %%MAN3%%man/man3/i2d_RSAPublicKey.3.gz %%MAN3%%man/man3/i2d_RSAPublicKey_bio.3.gz %%MAN3%%man/man3/i2d_RSAPublicKey_fp.3.gz %%MAN3%%man/man3/i2d_RSA_OAEP_PARAMS.3.gz %%MAN3%%man/man3/i2d_RSA_PSS_PARAMS.3.gz %%MAN3%%man/man3/i2d_RSA_PUBKEY.3.gz %%MAN3%%man/man3/i2d_RSA_PUBKEY_bio.3.gz %%MAN3%%man/man3/i2d_RSA_PUBKEY_fp.3.gz %%MAN3%%man/man3/i2d_SCRYPT_PARAMS.3.gz %%MAN3%%man/man3/i2d_SCT_LIST.3.gz %%MAN3%%man/man3/i2d_SSL_SESSION.3.gz %%MAN3%%man/man3/i2d_SXNET.3.gz %%MAN3%%man/man3/i2d_SXNETID.3.gz %%MAN3%%man/man3/i2d_TS_ACCURACY.3.gz %%MAN3%%man/man3/i2d_TS_MSG_IMPRINT.3.gz %%MAN3%%man/man3/i2d_TS_MSG_IMPRINT_bio.3.gz %%MAN3%%man/man3/i2d_TS_MSG_IMPRINT_fp.3.gz %%MAN3%%man/man3/i2d_TS_REQ.3.gz %%MAN3%%man/man3/i2d_TS_REQ_bio.3.gz %%MAN3%%man/man3/i2d_TS_REQ_fp.3.gz %%MAN3%%man/man3/i2d_TS_RESP.3.gz %%MAN3%%man/man3/i2d_TS_RESP_bio.3.gz %%MAN3%%man/man3/i2d_TS_RESP_fp.3.gz %%MAN3%%man/man3/i2d_TS_STATUS_INFO.3.gz %%MAN3%%man/man3/i2d_TS_TST_INFO.3.gz %%MAN3%%man/man3/i2d_TS_TST_INFO_bio.3.gz %%MAN3%%man/man3/i2d_TS_TST_INFO_fp.3.gz %%MAN3%%man/man3/i2d_USERNOTICE.3.gz %%MAN3%%man/man3/i2d_X509.3.gz %%MAN3%%man/man3/i2d_X509_ALGOR.3.gz %%MAN3%%man/man3/i2d_X509_ALGORS.3.gz %%MAN3%%man/man3/i2d_X509_ATTRIBUTE.3.gz %%MAN3%%man/man3/i2d_X509_AUX.3.gz %%MAN3%%man/man3/i2d_X509_CERT_AUX.3.gz %%MAN3%%man/man3/i2d_X509_CINF.3.gz %%MAN3%%man/man3/i2d_X509_CRL.3.gz %%MAN3%%man/man3/i2d_X509_CRL_INFO.3.gz %%MAN3%%man/man3/i2d_X509_CRL_bio.3.gz %%MAN3%%man/man3/i2d_X509_CRL_fp.3.gz %%MAN3%%man/man3/i2d_X509_EXTENSION.3.gz %%MAN3%%man/man3/i2d_X509_EXTENSIONS.3.gz %%MAN3%%man/man3/i2d_X509_NAME.3.gz %%MAN3%%man/man3/i2d_X509_NAME_ENTRY.3.gz %%MAN3%%man/man3/i2d_X509_PUBKEY.3.gz %%MAN3%%man/man3/i2d_X509_REQ.3.gz %%MAN3%%man/man3/i2d_X509_REQ_INFO.3.gz %%MAN3%%man/man3/i2d_X509_REQ_bio.3.gz %%MAN3%%man/man3/i2d_X509_REQ_fp.3.gz %%MAN3%%man/man3/i2d_X509_REVOKED.3.gz %%MAN3%%man/man3/i2d_X509_SIG.3.gz %%MAN3%%man/man3/i2d_X509_VAL.3.gz %%MAN3%%man/man3/i2d_re_X509_CRL_tbs.3.gz %%MAN3%%man/man3/i2d_re_X509_REQ_tbs.3.gz %%MAN3%%man/man3/i2d_re_X509_tbs.3.gz %%MAN3%%man/man3/i2o_SCT.3.gz %%MAN3%%man/man3/i2o_SCT_LIST.3.gz %%MAN3%%man/man3/i2t_ASN1_OBJECT.3.gz %%MAN3%%man/man3/lh_TYPE_delete.3.gz %%MAN3%%man/man3/lh_TYPE_doall.3.gz %%MAN3%%man/man3/lh_TYPE_doall_arg.3.gz %%MAN3%%man/man3/lh_TYPE_error.3.gz %%MAN3%%man/man3/lh_TYPE_free.3.gz %%MAN3%%man/man3/lh_TYPE_insert.3.gz %%MAN3%%man/man3/lh_TYPE_new.3.gz %%MAN3%%man/man3/lh_TYPE_retrieve.3.gz %%MAN3%%man/man3/o2i_SCT.3.gz %%MAN3%%man/man3/o2i_SCT_LIST.3.gz %%MAN3%%man/man3/pem_password_cb.3.gz %%MAN3%%man/man3/sk_TYPE_deep_copy.3.gz %%MAN3%%man/man3/sk_TYPE_delete.3.gz %%MAN3%%man/man3/sk_TYPE_delete_ptr.3.gz %%MAN3%%man/man3/sk_TYPE_dup.3.gz %%MAN3%%man/man3/sk_TYPE_find.3.gz %%MAN3%%man/man3/sk_TYPE_find_ex.3.gz %%MAN3%%man/man3/sk_TYPE_free.3.gz %%MAN3%%man/man3/sk_TYPE_insert.3.gz %%MAN3%%man/man3/sk_TYPE_is_sorted.3.gz %%MAN3%%man/man3/sk_TYPE_new.3.gz %%MAN3%%man/man3/sk_TYPE_new_null.3.gz %%MAN3%%man/man3/sk_TYPE_new_reserve.3.gz %%MAN3%%man/man3/sk_TYPE_num.3.gz %%MAN3%%man/man3/sk_TYPE_pop.3.gz %%MAN3%%man/man3/sk_TYPE_pop_free.3.gz %%MAN3%%man/man3/sk_TYPE_push.3.gz %%MAN3%%man/man3/sk_TYPE_reserve.3.gz %%MAN3%%man/man3/sk_TYPE_set.3.gz %%MAN3%%man/man3/sk_TYPE_set_cmp_func.3.gz %%MAN3%%man/man3/sk_TYPE_shift.3.gz %%MAN3%%man/man3/sk_TYPE_sort.3.gz %%MAN3%%man/man3/sk_TYPE_unshift.3.gz %%MAN3%%man/man3/sk_TYPE_value.3.gz %%MAN3%%man/man3/sk_TYPE_zero.3.gz %%MAN3%%man/man3/ssl_ct_validation_cb.3.gz man/man5/config.5.gz man/man5/x509v3_config.5.gz %%MAN3%%man/man7/Ed25519.7.gz %%MAN3%%man/man7/Ed448.7.gz %%MAN3%%man/man7/RAND.7.gz %%MAN3%%man/man7/RAND_DRBG.7.gz %%MAN3%%man/man7/RSA-PSS.7.gz %%MAN3%%man/man7/SM2.7.gz %%MAN3%%man/man7/X25519.7.gz %%MAN3%%man/man7/X448.7.gz %%MAN3%%man/man7/bio.7.gz %%MAN3%%man/man7/crypto.7.gz %%MAN3%%man/man7/ct.7.gz %%MAN3%%man/man7/des_modes.7.gz %%MAN3%%man/man7/evp.7.gz %%MAN3%%man/man7/ossl_store-file.7.gz %%MAN3%%man/man7/ossl_store.7.gz %%MAN3%%man/man7/passphrase-encoding.7.gz %%MAN3%%man/man7/proxy-certificates.7.gz %%MAN3%%man/man7/scrypt.7.gz %%MAN3%%man/man7/ssl.7.gz %%MAN3%%man/man7/x509.7.gz %%OPENSSLDIR%%/misc/CA.pl %%OPENSSLDIR%%/misc/tsget @comment %%OPENSSLDIR%%/misc/tsget.pl @sample %%OPENSSLDIR%%/openssl.cnf.dist %%OPENSSLDIR%%/openssl.cnf @sample %%OPENSSLDIR%%/ct_log_list.cnf.dist %%OPENSSLDIR%%/ct_log_list.cnf @dir %%OPENSSLDIR%%/private @dir %%OPENSSLDIR%%/certs