mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-01 19:54:40 +02:00
added non-blocking and session resume as example server and client command line options
This commit is contained in:
@@ -30,9 +30,7 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#ifdef NON_BLOCKING
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#endif
|
|
||||||
#ifdef TEST_IPV6
|
#ifdef TEST_IPV6
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -549,7 +547,6 @@ static INLINE void tcp_accept(SOCKET_T* sockfd, int* clientfd, func_args* args,
|
|||||||
|
|
||||||
static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd)
|
static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd)
|
||||||
{
|
{
|
||||||
#ifdef NON_BLOCKING
|
|
||||||
#ifdef USE_WINDOWS_API
|
#ifdef USE_WINDOWS_API
|
||||||
unsigned long blocking = 1;
|
unsigned long blocking = 1;
|
||||||
int ret = ioctlsocket(*sockfd, FIONBIO, &blocking);
|
int ret = ioctlsocket(*sockfd, FIONBIO, &blocking);
|
||||||
@@ -557,8 +554,6 @@ static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd)
|
|||||||
int flags = fcntl(*sockfd, F_GETFL, 0);
|
int flags = fcntl(*sockfd, F_GETFL, 0);
|
||||||
fcntl(*sockfd, F_SETFL, flags | O_NONBLOCK);
|
fcntl(*sockfd, F_SETFL, flags | O_NONBLOCK);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
(void)sockfd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -28,10 +28,6 @@
|
|||||||
|
|
||||||
#include "examples/client/client.h"
|
#include "examples/client/client.h"
|
||||||
|
|
||||||
/*
|
|
||||||
#define TEST_RESUME
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef CYASSL_CALLBACKS
|
#ifdef CYASSL_CALLBACKS
|
||||||
int handShakeCB(HandShakeInfo*);
|
int handShakeCB(HandShakeInfo*);
|
||||||
@@ -39,7 +35,6 @@
|
|||||||
Timeval timeout;
|
Timeval timeout;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(NON_BLOCKING) || defined(CYASSL_CALLBACKS)
|
|
||||||
static void NonBlockingSSL_Connect(CYASSL* ssl)
|
static void NonBlockingSSL_Connect(CYASSL* ssl)
|
||||||
{
|
{
|
||||||
#ifndef CYASSL_CALLBACKS
|
#ifndef CYASSL_CALLBACKS
|
||||||
@@ -85,7 +80,6 @@
|
|||||||
if (ret != SSL_SUCCESS)
|
if (ret != SSL_SUCCESS)
|
||||||
err_sys("SSL_connect failed");
|
err_sys("SSL_connect failed");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static void Usage(void)
|
static void Usage(void)
|
||||||
@@ -107,6 +101,8 @@ static void Usage(void)
|
|||||||
printf("-g Send server HTTP GET\n");
|
printf("-g Send server HTTP GET\n");
|
||||||
printf("-u Use UDP DTLS\n");
|
printf("-u Use UDP DTLS\n");
|
||||||
printf("-m Match domain name in cert\n");
|
printf("-m Match domain name in cert\n");
|
||||||
|
printf("-n Use non-blocking sockets\n");
|
||||||
|
printf("-r Resume session\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -118,12 +114,10 @@ void client_test(void* args)
|
|||||||
CYASSL_CTX* ctx = 0;
|
CYASSL_CTX* ctx = 0;
|
||||||
CYASSL* ssl = 0;
|
CYASSL* ssl = 0;
|
||||||
|
|
||||||
#ifdef TEST_RESUME
|
|
||||||
CYASSL* sslResume = 0;
|
CYASSL* sslResume = 0;
|
||||||
CYASSL_SESSION* session = 0;
|
CYASSL_SESSION* session = 0;
|
||||||
char resumeMsg[] = "resuming cyassl!";
|
char resumeMsg[] = "resuming cyassl!";
|
||||||
int resumeSz = sizeof(resumeMsg);
|
int resumeSz = sizeof(resumeMsg);
|
||||||
#endif
|
|
||||||
|
|
||||||
char msg[64] = "hello cyassl!";
|
char msg[64] = "hello cyassl!";
|
||||||
char reply[1024];
|
char reply[1024];
|
||||||
@@ -142,6 +136,8 @@ void client_test(void* args)
|
|||||||
int doDTLS = 0;
|
int doDTLS = 0;
|
||||||
int matchName = 0;
|
int matchName = 0;
|
||||||
int doPeerCheck = 1;
|
int doPeerCheck = 1;
|
||||||
|
int nonBlocking = 0;
|
||||||
|
int resumeSession = 0;
|
||||||
char* cipherList = NULL;
|
char* cipherList = NULL;
|
||||||
char* verifyCert = (char*)caCert;
|
char* verifyCert = (char*)caCert;
|
||||||
char* ourCert = (char*)cliCert;
|
char* ourCert = (char*)cliCert;
|
||||||
@@ -152,7 +148,7 @@ void client_test(void* args)
|
|||||||
|
|
||||||
((func_args*)args)->return_code = -1; /* error state */
|
((func_args*)args)->return_code = -1; /* error state */
|
||||||
|
|
||||||
while ((ch = mygetopt(argc, argv, "?gdusmh:p:v:l:A:c:k:b:")) != -1) {
|
while ((ch = mygetopt(argc, argv, "?gdusmNrh:p:v:l:A:c:k:b:")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case '?' :
|
case '?' :
|
||||||
Usage();
|
Usage();
|
||||||
@@ -222,6 +218,14 @@ void client_test(void* args)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'N' :
|
||||||
|
nonBlocking = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'r' :
|
||||||
|
resumeSession = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Usage();
|
Usage();
|
||||||
exit(MY_EX_USAGE);
|
exit(MY_EX_USAGE);
|
||||||
@@ -363,24 +367,26 @@ void client_test(void* args)
|
|||||||
#endif
|
#endif
|
||||||
if (matchName && doPeerCheck)
|
if (matchName && doPeerCheck)
|
||||||
CyaSSL_check_domain_name(ssl, domain);
|
CyaSSL_check_domain_name(ssl, domain);
|
||||||
#ifdef NON_BLOCKING
|
#ifndef CYASSL_CALLBACKS
|
||||||
|
if (nonBlocking) {
|
||||||
CyaSSL_set_using_nonblock(ssl, 1);
|
CyaSSL_set_using_nonblock(ssl, 1);
|
||||||
tcp_set_nonblocking(&sockfd);
|
tcp_set_nonblocking(&sockfd);
|
||||||
NonBlockingSSL_Connect(ssl);
|
NonBlockingSSL_Connect(ssl);
|
||||||
#else
|
}
|
||||||
#ifndef CYASSL_CALLBACKS
|
else if (CyaSSL_connect(ssl) != SSL_SUCCESS) {
|
||||||
if (CyaSSL_connect(ssl) != SSL_SUCCESS) {/* see note at top of README */
|
/* see note at top of README */
|
||||||
int err = CyaSSL_get_error(ssl, 0);
|
int err = CyaSSL_get_error(ssl, 0);
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
printf("err = %d, %s\n", err, CyaSSL_ERR_error_string(err, buffer));
|
printf("err = %d, %s\n", err,
|
||||||
err_sys("SSL_connect failed");/* if you're getting an error here */
|
CyaSSL_ERR_error_string(err, buffer));
|
||||||
|
err_sys("SSL_connect failed");
|
||||||
|
/* if you're getting an error here */
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
timeout.tv_sec = 2;
|
timeout.tv_sec = 2;
|
||||||
timeout.tv_usec = 0;
|
timeout.tv_usec = 0;
|
||||||
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
|
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
showPeer(ssl);
|
showPeer(ssl);
|
||||||
|
|
||||||
if (sendGET) {
|
if (sendGET) {
|
||||||
@@ -409,7 +415,7 @@ void client_test(void* args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TEST_RESUME
|
if (resumeSession) {
|
||||||
if (doDTLS) {
|
if (doDTLS) {
|
||||||
strncpy(msg, "break", 6);
|
strncpy(msg, "break", 6);
|
||||||
msgSz = (int)strlen(msg);
|
msgSz = (int)strlen(msg);
|
||||||
@@ -418,14 +424,14 @@ void client_test(void* args)
|
|||||||
}
|
}
|
||||||
session = CyaSSL_get_session(ssl);
|
session = CyaSSL_get_session(ssl);
|
||||||
sslResume = CyaSSL_new(ctx);
|
sslResume = CyaSSL_new(ctx);
|
||||||
#endif
|
}
|
||||||
|
|
||||||
if (doDTLS == 0) /* don't send alert after "break" command */
|
if (doDTLS == 0) /* don't send alert after "break" command */
|
||||||
CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */
|
CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */
|
||||||
CyaSSL_free(ssl);
|
CyaSSL_free(ssl);
|
||||||
CloseSocket(sockfd);
|
CloseSocket(sockfd);
|
||||||
|
|
||||||
#ifdef TEST_RESUME
|
if (resumeSession) {
|
||||||
if (doDTLS) {
|
if (doDTLS) {
|
||||||
SOCKADDR_IN_T addr;
|
SOCKADDR_IN_T addr;
|
||||||
#ifdef USE_WINDOWS_API
|
#ifdef USE_WINDOWS_API
|
||||||
@@ -444,20 +450,19 @@ void client_test(void* args)
|
|||||||
CyaSSL_set_session(sslResume, session);
|
CyaSSL_set_session(sslResume, session);
|
||||||
|
|
||||||
showPeer(sslResume);
|
showPeer(sslResume);
|
||||||
#ifdef NON_BLOCKING
|
#ifndef CYASSL_CALLBACKS
|
||||||
|
if (nonBlocking) {
|
||||||
CyaSSL_set_using_nonblock(sslResume, 1);
|
CyaSSL_set_using_nonblock(sslResume, 1);
|
||||||
tcp_set_nonblocking(&sockfd);
|
tcp_set_nonblocking(&sockfd);
|
||||||
NonBlockingSSL_Connect(sslResume);
|
NonBlockingSSL_Connect(sslResume);
|
||||||
#else
|
}
|
||||||
#ifndef CYASSL_CALLBACKS
|
else if (CyaSSL_connect(sslResume) != SSL_SUCCESS)
|
||||||
if (CyaSSL_connect(sslResume) != SSL_SUCCESS)
|
|
||||||
err_sys("SSL resume failed");
|
err_sys("SSL resume failed");
|
||||||
#else
|
#else
|
||||||
timeout.tv_sec = 2;
|
timeout.tv_sec = 2;
|
||||||
timeout.tv_usec = 0;
|
timeout.tv_usec = 0;
|
||||||
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
|
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef OPENSSL_EXTRA
|
#ifdef OPENSSL_EXTRA
|
||||||
if (CyaSSL_session_reused(sslResume))
|
if (CyaSSL_session_reused(sslResume))
|
||||||
@@ -469,14 +474,14 @@ void client_test(void* args)
|
|||||||
if (CyaSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz)
|
if (CyaSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz)
|
||||||
err_sys("SSL_write failed");
|
err_sys("SSL_write failed");
|
||||||
|
|
||||||
#ifdef NON_BLOCKING
|
if (nonBlocking) {
|
||||||
/* need to give server a chance to bounce a message back to client */
|
/* need to give server a chance to bounce a message back to client */
|
||||||
#ifdef USE_WINDOWS_API
|
#ifdef USE_WINDOWS_API
|
||||||
Sleep(500);
|
Sleep(500);
|
||||||
#else
|
#else
|
||||||
sleep(1);
|
sleep(1);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
}
|
||||||
|
|
||||||
input = CyaSSL_read(sslResume, reply, sizeof(reply));
|
input = CyaSSL_read(sslResume, reply, sizeof(reply));
|
||||||
if (input > 0) {
|
if (input > 0) {
|
||||||
@@ -489,7 +494,7 @@ void client_test(void* args)
|
|||||||
|
|
||||||
CyaSSL_shutdown(sslResume);
|
CyaSSL_shutdown(sslResume);
|
||||||
CyaSSL_free(sslResume);
|
CyaSSL_free(sslResume);
|
||||||
#endif /* TEST_RESUME */
|
}
|
||||||
|
|
||||||
CyaSSL_CTX_free(ctx);
|
CyaSSL_CTX_free(ctx);
|
||||||
CloseSocket(sockfd);
|
CloseSocket(sockfd);
|
||||||
|
@@ -35,7 +35,6 @@
|
|||||||
Timeval srvTo;
|
Timeval srvTo;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(NON_BLOCKING) || defined(CYASSL_CALLBACKS)
|
|
||||||
static void NonBlockingSSL_Accept(SSL* ssl)
|
static void NonBlockingSSL_Accept(SSL* ssl)
|
||||||
{
|
{
|
||||||
#ifndef CYASSL_CALLBACKS
|
#ifndef CYASSL_CALLBACKS
|
||||||
@@ -79,7 +78,6 @@
|
|||||||
if (ret != SSL_SUCCESS)
|
if (ret != SSL_SUCCESS)
|
||||||
err_sys("SSL_accept failed");
|
err_sys("SSL_accept failed");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static void Usage(void)
|
static void Usage(void)
|
||||||
@@ -98,6 +96,7 @@ static void Usage(void)
|
|||||||
printf("-b Bind to any interface instead of localhost only\n");
|
printf("-b Bind to any interface instead of localhost only\n");
|
||||||
printf("-s Use pre Shared keys\n");
|
printf("-s Use pre Shared keys\n");
|
||||||
printf("-u Use UDP DTLS\n");
|
printf("-u Use UDP DTLS\n");
|
||||||
|
printf("-N Use non-blocking sockets\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -121,6 +120,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
|||||||
int usePsk = 0;
|
int usePsk = 0;
|
||||||
int doDTLS = 0;
|
int doDTLS = 0;
|
||||||
int useNtruKey = 0;
|
int useNtruKey = 0;
|
||||||
|
int nonBlocking = 0;
|
||||||
char* cipherList = NULL;
|
char* cipherList = NULL;
|
||||||
char* verifyCert = (char*)cliCert;
|
char* verifyCert = (char*)cliCert;
|
||||||
char* ourCert = (char*)svrCert;
|
char* ourCert = (char*)svrCert;
|
||||||
@@ -130,7 +130,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
|||||||
|
|
||||||
((func_args*)args)->return_code = -1; /* error state */
|
((func_args*)args)->return_code = -1; /* error state */
|
||||||
|
|
||||||
while ((ch = mygetopt(argc, argv, "?dbsnup:v:l:A:c:k:")) != -1) {
|
while ((ch = mygetopt(argc, argv, "?dbsnNup:v:l:A:c:k:")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case '?' :
|
case '?' :
|
||||||
Usage();
|
Usage();
|
||||||
@@ -187,6 +187,10 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
|||||||
ourKey = myoptarg;
|
ourKey = myoptarg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'N':
|
||||||
|
nonBlocking = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Usage();
|
Usage();
|
||||||
exit(MY_EX_USAGE);
|
exit(MY_EX_USAGE);
|
||||||
@@ -310,13 +314,12 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NON_BLOCKING
|
#ifndef CYASSL_CALLBACKS
|
||||||
|
if (nonBlocking) {
|
||||||
CyaSSL_set_using_nonblock(ssl, 1);
|
CyaSSL_set_using_nonblock(ssl, 1);
|
||||||
tcp_set_nonblocking(&clientfd);
|
tcp_set_nonblocking(&clientfd);
|
||||||
NonBlockingSSL_Accept(ssl);
|
NonBlockingSSL_Accept(ssl);
|
||||||
#else
|
} else if (SSL_accept(ssl) != SSL_SUCCESS) {
|
||||||
#ifndef CYASSL_CALLBACKS
|
|
||||||
if (SSL_accept(ssl) != SSL_SUCCESS) {
|
|
||||||
int err = SSL_get_error(ssl, 0);
|
int err = SSL_get_error(ssl, 0);
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
printf("error = %d, %s\n", err, ERR_error_string(err, buffer));
|
printf("error = %d, %s\n", err, ERR_error_string(err, buffer));
|
||||||
@@ -325,7 +328,6 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
|
|||||||
#else
|
#else
|
||||||
NonBlockingSSL_Accept(ssl);
|
NonBlockingSSL_Accept(ssl);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
showPeer(ssl);
|
showPeer(ssl);
|
||||||
|
|
||||||
idx = SSL_read(ssl, input, sizeof(input));
|
idx = SSL_read(ssl, input, sizeof(input));
|
||||||
|
@@ -62,3 +62,83 @@
|
|||||||
-u
|
-u
|
||||||
-l RABBIT-SHA
|
-l RABBIT-SHA
|
||||||
|
|
||||||
|
# server DTLSv1 RC4-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 RC4-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 RC4-MD5 NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 RC4-MD5 NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 AES128-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 AES128-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 AES256-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 AES256-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 AES128-SHA256 NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 AES128-SHA256 NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 AES256-SHA256 NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 AES256-SHA256 NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server DTLSv1 RABBIT-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client DTLSv1 RABBIT-SHA NON-BLOCKING
|
||||||
|
-u
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
270
tests/test.conf
270
tests/test.conf
@@ -214,3 +214,273 @@
|
|||||||
-v 3
|
-v 3
|
||||||
-l RABBIT-SHA
|
-l RABBIT-SHA
|
||||||
|
|
||||||
|
# server SSLv3 RC4-SHA NON-BLOCKING
|
||||||
|
-v 0
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client SSLv3 RC4-SHA NON-BLOCKING
|
||||||
|
-v 0
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server SSLv3 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 0
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client SSLv3 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 0
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server SSLv3 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 0
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client SSLv3 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 0
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 RC4-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 RC4-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 AES128-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 AES128-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 AES256-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 AES256-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 AES128-SHA256 NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 AES128-SHA256 NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 AES256-SHA256 NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 AES256-SHA256 NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1 RABBIT-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1 RABBIT-SHA NON-BLOCKING
|
||||||
|
-v 1
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 RC4-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 RC4-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 AES128-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 AES128-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 AES256-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 AES256-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 AES128-SHA256 NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 AES128-SHA256 NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 AES256-SHA256 NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 AES256-SHA256 NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.1 RABBIT-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.1 RABBIT-SHA NON-BLOCKING
|
||||||
|
-v 2
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 RC4-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 RC4-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l RC4-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 RC4-MD5 NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l RC4-MD5
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 DES-CBC3-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l DES-CBC3-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 AES128-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 AES128-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES128-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 AES256-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 AES256-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES256-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 AES128-SHA256 NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 AES128-SHA256 NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES128-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 AES256-SHA256 NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 AES256-SHA256 NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l AES256-SHA256
|
||||||
|
-N
|
||||||
|
|
||||||
|
# server TLSv1.2 RABBIT-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
# client TLSv1.2 RABBIT-SHA NON-BLOCKING
|
||||||
|
-v 3
|
||||||
|
-l RABBIT-SHA
|
||||||
|
-N
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user