xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 5KB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-04
  • 語(yǔ)言: 其他
  • 標(biāo)簽:

資源簡(jiǎn)介

自己寫的openssl加密通信的代碼模板

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
//openssl頭文件
#include?
#include?

int?main(int?argc?char?*argv[])
{

int?sock_fd=-1; ? /*?TCP套接字????*/
SSL_CTX?*ctx=NULL;???? /*?SSL會(huì)話環(huán)境?*/
SSL?*ssl=NULL;????????? /*?SSL安全套接字?*/
struct?sockaddr_in?ser_addr; /*?服務(wù)器地址?*/
bzero(&ser_addr?sizeof(ser_addr));

if(?argc!=4?)?
{
printf(“argcment?wrong:ip?port?content\n“);
exit(0);
}

do
{
/*?申請(qǐng)SSL會(huì)話環(huán)境?*/
if(?NULL==(ctx=SSL_CTX_new(TLS_client_method()))?)????//使用SSL_CTX_new()創(chuàng)建會(huì)話環(huán)境,建立連接時(shí)要使用協(xié)議由TLS_client_method()來(lái)定,服務(wù)器由對(duì)應(yīng)的TLS_server_method()來(lái)定。如果這一步出錯(cuò),需要查看錯(cuò)誤棧來(lái)查看原因
{
ERR_print_errors_fp(stdout);
break;
}
/*?TCP連接?*/
if(?-1==(sock_fd=socket(AF_INET?SOCK_STREAM?0))?)
{
printf(“creat?socket?wrong\n“);
break;
}
ser_addr.sin_family?=?AF_INET;
ser_addr.sin_port?=?htons(atoi(argv[2]));
ser_addr.sin_addr.s_addr?=?inet_addr(argv[1]);
if(?-1==(connect(sock_fd?(struct?sockaddr?*)&ser_addr?sizeof(ser_addr)))?)
{
printf(“connect?wrong\n“);
break;
}
/*?SSL連接?*/
ssl=SSL_new(ctx);?????????/*?由會(huì)話環(huán)境申請(qǐng)一個(gè)SSL套接字?*/
SSL_set_fd(ssl?sock_fd);?/*?綁定SSL安全套接字和已連接TCP套接字?*/
if(?0>=SSL_connect(ssl)?)?/*?安全套接層握手?*/????//返回值為1,成功建立連接;小于等于零失敗,使用SSL_get_error()找出錯(cuò)誤原因
{
ERR_print_errors_fp(stderr);
break;
}
/*?發(fā)送數(shù)據(jù)?*/
SSL_write(ssl?argv[3]?strlen(argv[3]));?//返回值大于零,發(fā)送成功,此時(shí)返回值等于第3個(gè)參數(shù);小于等于零,發(fā)送失敗,可能原因是連接斷開(kāi)或者出現(xiàn)錯(cuò)誤,使用SSL_get_error()獲取錯(cuò)誤原因

}while(0);

/*?關(guān)閉SSL連接,釋放SSL安全套接字資源?*/
if(?NULL!=ssl?)
{
SSL_shutdown(ssl);??//關(guān)閉一個(gè)活的TLS/SSL連接,會(huì)向?qū)Χ税l(fā)送“close?notify“,告訴對(duì)方
SSL_free(ssl);??????//減少ssl的引用次數(shù),如果引用次數(shù)為零,就移除ssl指向的對(duì)象、釋放分配的內(nèi)存;如果ssl是NULL,什么都不做
ssl=NULL;
}
/*?關(guān)閉TCP連接?*/
if(?-1!=sock_fd)
{
close(sock_fd);??????
sock_fd=-1;
}
/*?釋放SSL會(huì)話環(huán)境?*/
if(?NULL!=ctx?)
{
SSL_CTX_free(ctx);//減少ctx的引用次數(shù),如果引用次數(shù)為零,就移除ctx指向的對(duì)象、釋放分配的內(nèi)存;如果ctx是NULL,什么都不做
ctx=NULL;
}
return?0;
}

評(píng)論

共有 條評(píng)論

相關(guān)資源