📄 rclient.c
字号:
/* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -