rclient.c

来自「ssl的客户端和服务端源代码」· C语言 代码 · 共 50 行

C
50
字号
/* SSL client demonstrating session resumption */#include "common.h"#include "client.h"#include "read_write.h"int main(argc,argv)  int argc;  char **argv;  {    SSL_CTX *ctx;    SSL *ssl;    BIO *sbio;    SSL_SESSION *sess;    int sock;    /* Build our SSL context*/    ctx=initialize_ctx(KEYFILE,PASSWORD);    /* Connect the TCP socket*/    sock=tcp_connect();    /* Connect the SSL socket */    ssl=SSL_new(ctx);    sbio=BIO_new_socket(sock,BIO_NOCLOSE);    SSL_set_bio(ssl,sbio,sbio);    if(SSL_connect(ssl)<=0)      berr_exit("SSL connect error (first connect)");    check_cert_chain(ssl,HOST);    /* Now hang up and reconnect */    sess=SSL_get_session(ssl); /*Collect the session*/    SSL_shutdown(ssl);    close(sock);    sock=tcp_connect();    ssl=SSL_new(ctx);    sbio=BIO_new_socket(sock,BIO_NOCLOSE);    SSL_set_bio(ssl,sbio,sbio);    SSL_set_session(ssl,sess); /*And resume it*/    if(SSL_connect(ssl)<=0)      berr_exit("SSL connect error (second connect)");    check_cert_chain(ssl,HOST);    /*Now close everything down again*/    SSL_shutdown(ssl);    close(sock);    destroy_ctx(ctx);  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?