亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ssl_test.c

?? it is know of https implement source code
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* *  SSL/TLS stress testing program * *  Copyright (C) 2006-2007  Christophe Devine * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License along *  with this program; if not, write to the Free Software Foundation, Inc., *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */#ifndef _CRT_SECURE_NO_DEPRECATE#define _CRT_SECURE_NO_DEPRECATE 1#endif#include <string.h>#include <stdlib.h>#include <stdio.h>#include "xyssl/net.h"#include "xyssl/ssl.h"#include "xyssl/havege.h"#include "xyssl/timing.h"#include "xyssl/certs.h"#define OPMODE_NONE             0#define OPMODE_CLIENT           1#define OPMODE_SERVER           2#define IOMODE_BLOCK            0#define IOMODE_NONBLOCK         1#define COMMAND_READ            1#define COMMAND_WRITE           2#define COMMAND_BOTH            3#define DFL_OPMODE              OPMODE_NONE#define DFL_IOMODE              IOMODE_BLOCK#define DFL_SERVER_NAME         "localhost"#define DFL_SERVER_PORT         4433#define DFL_COMMAND             COMMAND_READ#define DFL_BUFFER_SIZE         1024#define DFL_MAX_BYTES           0#define DFL_DEBUG_LEVEL         0#define DFL_CONN_TIMEOUT        0#define DFL_MAX_CONNECTIONS     0#define DFL_SESSION_REUSE       1#define DFL_SESSION_LIFETIME    86400#define DFL_FORCE_CIPHER        0/* * server-specific data */char *dhm_G = "4";char *dhm_P = "E4004C1F94182000103D883A448B3F802CE4B44A83301270002C20D0321CFD00" \"11CCEF784C26A400F43DFB901BCA7538F2C6B176001CF5A0FD16D2C48B1D0C1C" \"F6AC8E1DA6BCC3B4E1F96B0564965300FFA1D0B601EB2800F489AA512C4B248C" \"01F76949A60BB7F00A40B1EAB64BDD48E8A700D60B7F1200FA8E77B0A979DABF";int server_fd = -1;/* * global options */struct options{    int opmode;                 /* operation mode (client or server)    */    int iomode;                 /* I/O mode (blocking or non-blocking)  */    char *server_name;          /* hostname of the server (client only) */    int server_port;            /* port on which the ssl service runs   */    int command;                /* what to do: read or write operation  */    int buffer_size;            /* size of the send/receive buffer      */    int max_bytes;              /* max. # of bytes before a reconnect   */    int debug_level;            /* level of debugging                   */    int conn_timeout;           /* max. delay before a reconnect        */    int max_connections;        /* max. number of reconnections         */    int session_reuse;          /* flag to reuse the keying material    */    int session_lifetime;       /* if reached, session data is expired  */    int force_cipher[2];        /* protocol/cipher to use, or all       */};/* * Although this PRNG has good statistical properties (eg. passes * DIEHARD), it is not cryptographically secure. */unsigned long int lcppm5( unsigned long int *state ){    unsigned long int u, v;    u = v = state[4] ^ 1;    state[u & 3] ^= u;    u ^= (v << 12) ^ (v >> 12);    u ^= v * state[0]; v >>= 8;    u ^= v * state[1]; v >>= 8;    u ^= v * state[2]; v >>= 8;    u ^= v * state[3];    u &= 0xFFFFFFFF;    state[4] = u;    return( u );}void my_debug( void *ctx, int level, char *str ){    if( level < ((struct options *) ctx)->debug_level )        fprintf( stderr, "%s", str );}/* * perform a single SSL connection */static int ssl_test( struct options *opt ){    int ret, i;    int client_fd;    int bytes_to_read;    int bytes_to_write;    int offset_to_read;    int offset_to_write;    long int nb_read;    long int nb_written;    unsigned long read_state[5];    unsigned long write_state[5];    unsigned char *read_buf;    unsigned char *write_buf;    struct hr_time t;    havege_state hs;    ssl_context ssl;    ssl_session ssn;    x509_cert srvcert;    rsa_context rsa;    ret = 1;    havege_init( &hs );    get_timer( &t, 1 );    memset( read_state, 0, sizeof( read_state ) );    memset( write_state, 0, sizeof( write_state ) );    memset( &srvcert, 0, sizeof( x509_cert ) );    memset( &rsa, 0, sizeof( rsa_context ) );    if( opt->opmode == OPMODE_CLIENT )    {        if( ( ret = net_connect( &client_fd, opt->server_name,                                             opt->server_port ) ) != 0 )        {            printf( "  ! net_connect returned %d\n\n", ret );            return( ret );        }        if( ( ret = ssl_init( &ssl ) ) != 0 )        {            printf( "  ! ssl_init returned %d\n\n", ret );            return( ret );        }        ssl_set_endpoint( &ssl, SSL_IS_CLIENT );    }    if( opt->opmode == OPMODE_SERVER )    {        ret =  x509parse_crt( &srvcert, (unsigned char *) test_srv_crt,                              strlen( test_srv_crt ) );        if( ret != 0 )        {            printf( "  !  x509parse_crt returned %d\n\n", ret );            goto exit;        }        ret =  x509parse_crt( &srvcert, (unsigned char *) test_ca_crt,                              strlen( test_ca_crt ) );        if( ret != 0 )        {            printf( "  !  x509parse_crt returned %d\n\n", ret );            goto exit;        }        ret =  x509parse_key( &rsa, (unsigned char *) test_srv_key,                              strlen( test_srv_key ), NULL, 0 );        if( ret != 0 )        {            printf( "  !  x509parse_key returned %d\n\n", ret );            goto exit;        }        if( server_fd < 0 )        {            if( ( ret = net_bind( &server_fd, NULL,                                   opt->server_port ) ) != 0 )            {                printf( "  ! net_bind returned %d\n\n", ret );                return( ret );            }        }        if( ( ret = net_accept( server_fd, &client_fd, NULL ) ) != 0 )        {            printf( "  ! net_accept returned %d\n\n", ret );            return( ret );        }        if( ( ret = ssl_init( &ssl ) ) != 0 )        {            printf( "  ! ssl_init returned %d\n\n", ret );            return( ret );        }        ssl_set_endpoint( &ssl, SSL_IS_SERVER );        ssl_set_dh_param( &ssl, dhm_P, dhm_G );        ssl_set_ca_chain( &ssl, srvcert.next, NULL );        ssl_set_own_cert( &ssl, &srvcert, &rsa );    }    ssl_set_authmode( &ssl, SSL_VERIFY_NONE );    ssl_set_rng( &ssl, havege_rand, &hs );    ssl_set_dbg( &ssl, my_debug, opt );    ssl_set_bio( &ssl, net_recv, &client_fd,                       net_send, &client_fd );    ssl_set_session( &ssl, opt->session_reuse,                           opt->session_lifetime, &ssn );    if( opt->force_cipher[0] == DFL_FORCE_CIPHER )          ssl_set_ciphers( &ssl, ssl_default_ciphers );    else  ssl_set_ciphers( &ssl, opt->force_cipher );    if( opt->iomode == IOMODE_NONBLOCK )        net_set_nonblock( client_fd );     read_buf = (unsigned char *) malloc( opt->buffer_size );    write_buf = (unsigned char *) malloc( opt->buffer_size );    if( read_buf == NULL || write_buf == NULL )    {        printf( "  ! malloc(%d bytes) failed\n\n", opt->buffer_size );        goto exit;    }    nb_read = bytes_to_read = 0;    nb_written = bytes_to_write = 0;    while( 1 )    {        if( opt->command & COMMAND_WRITE )        {            if( bytes_to_write == 0 )            {                while( bytes_to_write == 0 )                    bytes_to_write = rand() % opt->buffer_size;                for( i = 0; i < bytes_to_write; i++ )                    write_buf[i] = (unsigned char) lcppm5( write_state );                offset_to_write = 0;            }            ret = ssl_write( &ssl, write_buf + offset_to_write,                             bytes_to_write );            if( ret >= 0 )            {                nb_written += ret;                bytes_to_write  -= ret;                offset_to_write += ret;            }            if( ret == XYSSL_ERR_SSL_PEER_CLOSE_NOTIFY ||                ret == XYSSL_ERR_NET_CONN_RESET )            {                ret = 0;                goto exit;            }            if( ret < 0 && ret != XYSSL_ERR_NET_TRY_AGAIN )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产欧美另类久久久精品 | 91亚洲男人天堂| 欧洲日韩一区二区三区| 国产精品国产三级国产| 美女在线视频一区| 欧美日韩极品在线观看一区| 亚洲大型综合色站| 欧美日韩一级大片网址| 亚洲国产成人av好男人在线观看| 一本色道综合亚洲| 香蕉加勒比综合久久| 91精品婷婷国产综合久久性色| 婷婷亚洲久悠悠色悠在线播放| 9191久久久久久久久久久| 亚洲mv大片欧洲mv大片精品| 91精品国产色综合久久ai换脸| 美女性感视频久久| 激情综合亚洲精品| 国产精品99久| 亚洲日本va在线观看| 欧美性欧美巨大黑白大战| 免费成人av在线播放| 国产精品私房写真福利视频| 欧美在线观看一区二区| 蜜臀av一区二区| 日韩码欧中文字| 精品日韩成人av| 色婷婷综合视频在线观看| 欧美日韩mp4| 国产成人综合网| 免费美女久久99| 亚洲天堂网中文字| 久久久久久久精| 日韩欧美激情在线| 色88888久久久久久影院野外 | 国产精品1区二区.| 亚洲亚洲人成综合网络| 波多野结衣中文一区| 国产精品一区在线| 91.麻豆视频| 欧美三级韩国三级日本一级| 成人av午夜电影| 99久久夜色精品国产网站| 久久er99精品| 黄色成人免费在线| 美女网站色91| 麻豆91在线播放免费| 美女国产一区二区三区| 久久精品国产99| 日韩一区二区在线播放| 欧美一区二区福利在线| 久久色在线观看| 国产精品网站在线播放| 一区二区三区国产| 日本成人在线一区| 高清av一区二区| 欧美在线观看一二区| 91精品国产品国语在线不卡| 精品久久久久久无| 一区在线播放视频| 天天射综合影视| 精品国产伦一区二区三区免费| 一区二区三区不卡视频| 欧美一级夜夜爽| 国产精品久久久久三级| 天堂在线亚洲视频| 99久久精品国产一区| 69av一区二区三区| 欧美二区三区的天堂| 欧美国产一区视频在线观看| 亚洲国产综合91精品麻豆| 亚洲乱码国产乱码精品精的特点| 欧美日韩精品福利| 亚洲日本欧美天堂| 国产黑丝在线一区二区三区| 欧美久久久影院| 国产精品毛片无遮挡高清| 久久99这里只有精品| 欧美日韩视频第一区| 亚洲美女视频在线观看| 粉嫩aⅴ一区二区三区四区五区| 欧美一区二区三区四区五区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久色成人在线| 日本伊人色综合网| 日韩黄色一级片| 91精品免费观看| 精品一区中文字幕| 欧美成人官网二区| 麻豆一区二区99久久久久| 日韩精品一区在线观看| 国内欧美视频一区二区| 久久久久久久久久久黄色| 蓝色福利精品导航| 欧美激情一二三区| jvid福利写真一区二区三区| 中文字幕欧美区| 成人免费看黄yyy456| 国产网站一区二区三区| 国产九九视频一区二区三区| 欧美日韩国产片| 国产日韩欧美一区二区三区综合| 成人在线综合网| 一二三区精品视频| 精品成人一区二区| 国模套图日韩精品一区二区| 91精品免费观看| 国产在线观看一区二区| 99麻豆久久久国产精品免费| 亚洲精品免费电影| 欧美视频在线一区| 日日夜夜免费精品视频| 国产成人在线网站| 欧美国产成人精品| 欧美精品乱码久久久久久按摩| 国产老女人精品毛片久久| 一区二区三区日韩在线观看| 久久久久久久久久久黄色| 成人性生交大片| 激情六月婷婷久久| 日韩av不卡在线观看| 一区二区三区四区乱视频| 欧美天堂亚洲电影院在线播放| 777奇米成人网| 久久精品99国产精品日本| 国产91高潮流白浆在线麻豆 | jizzjizzjizz欧美| 另类成人小视频在线| 亚洲图片激情小说| 国产欧美一区二区三区网站| 福利91精品一区二区三区| 久久精品一区二区三区不卡牛牛| 91精品久久久久久久91蜜桃| 欧美日韩在线播放三区四区| 成人av免费在线播放| 成人精品小蝌蚪| 色综合久久综合网欧美综合网| 成人app软件下载大全免费| 99国产精品久| 欧美日韩日本视频| 日韩女优视频免费观看| 久久久天堂av| 欧美亚一区二区| 在线观看免费一区| 久久久久久黄色| 日韩av在线播放中文字幕| 99综合电影在线视频| 精品日韩av一区二区| 中文字幕制服丝袜成人av| 麻豆国产精品一区二区三区 | 欧美三区免费完整视频在线观看| 精品粉嫩超白一线天av| 综合av第一页| 亚洲午夜一二三区视频| 国产91精品精华液一区二区三区| 日韩欧美精品在线| 亚洲成人激情自拍| 欧美写真视频网站| 亚洲视频 欧洲视频| 国产高清不卡二三区| 26uuu色噜噜精品一区| 精品在线你懂的| 久久女同性恋中文字幕| 国产一区二区精品久久91| 2021中文字幕一区亚洲| 国产精品一区二区久久精品爱涩 | 欧美一区二区三区视频在线 | 久久丝袜美腿综合| 成人福利视频网站| 亚洲国产精品影院| 日韩精品一区二区三区四区视频| 久久99精品国产.久久久久 | 欧美一级欧美三级| 黄色成人免费在线| 亚洲欧美日韩国产一区二区三区 | 久久久国产午夜精品| 成人免费视频国产在线观看| 自拍av一区二区三区| 777欧美精品| 91国产丝袜在线播放| 精品亚洲国产成人av制服丝袜| 中文字幕一区二区三区精华液| 欧美日韩国产免费| 91在线精品秘密一区二区| 一区二区三区欧美久久| 2020国产精品自拍| 欧美日韩不卡在线| 91在线丨porny丨国产| 日韩电影免费在线| 亚洲欧美日韩国产综合在线| 欧美精品一区二区在线播放| 久久色中文字幕| 欧美日韩dvd在线观看| 国产一区二区三区最好精华液| 国产欧美一区二区精品性| 国产一区二区三区精品欧美日韩一区二区三区 | 色偷偷久久人人79超碰人人澡| 欧美精品一区二区不卡| 成人av网址在线观看| 久久99国内精品|