91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.43MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-09-15
  • 語言: C/C++
  • 標(biāo)簽: tls??tls1.2??tlsdemo??vc6tls??ssl??

資源簡(jiǎn)介

vc6下編寫的tls1.2Demo(也包含ssl的參考),支持vc6及以上版本.... 依賴庫(kù):openssl1.0.2e 可自行參考或跟進(jìn)需求修改. 標(biāo)簽:tls tls1.2 tlsdemo vc6tls ssl

資源截圖

代碼片段和文件信息

//client??
#include???
#include???
#include???
#include?“openssl/x509.h“??
#include?“openssl/ssl.h“??
#include?“openssl/err.h“??
#include?“openssl/rand.h“?

#define?PORT???????18443??
#define?SERVER?????“192.168.16.139“//“127.0.0.1“??
#define?CACERT?????“..\\ca.crt“??
#define?MYCERTF????“..\\client.crt“??
#define?MYKEYF?????“..\\client.key“??
#define?MSGLENGTH??1024

#define?HOST_NAME?“cn“

#pragma?comment(lib“ws2_32.lib“)
#pragma?comment(lib“./openssl/libeay32.lib“)
#pragma?comment(lib“./openssl/ssleay32.lib“)

//解決openssl編譯_iob錯(cuò)誤
//?#ifdef?__cplusplus
//?extern?“C“?
//?#endif
//?FILE?_iob[3]?=?{__iob_func()[0]?__iob_func()[1]?__iob_func()[2]};

//?const?char*?const?PREFERRED_CIPHERS?=
//?/*?TLS?1.2?only?*/
//?“ECDHE-ECDSA-AES256-GCM-SHA384:“
//?“ECDHE-RSA-AES256-GCM-SHA384:“
//?“ECDHE-ECDSA-AES128-GCM-SHA256:“
//?“ECDHE-RSA-AES128-GCM-SHA256:“
//?
//?/*?TLS?1.2?only?*/
//?“DHE-DSS-AES256-GCM-SHA384:“
//?“DHE-RSA-AES256-GCM-SHA384:“
//?“DHE-DSS-AES128-GCM-SHA256:“
//?“DHE-RSA-AES128-GCM-SHA256:“
//?
//?/*?TLS?1.0?and?above?*/
//?“DHE-DSS-AES256-SHA:“
//?“DHE-RSA-AES256-SHA:“
//?“DHE-DSS-AES128-SHA:“
//?“DHE-RSA-AES128-SHA:“
//?
//?/*?SSL?3.0?and?TLS?1.0?*/
//?“EDH-DSS-DES-CBC3-SHA:“
//?“EDH-RSA-DES-CBC3-SHA:“
//?“DH-DSS-DES-CBC3-SHA:“
//?“DH-RSA-DES-CBC3-SHA“;

const?char*?const?PREFERRED_CIPHERS?=“AES256-SHA“;

//PREFERRED_CIPHERS?another?way
//?const?char*?const?PREFERRED_CIPHERS?=?“kEECDH:kEDH:kRSA:AESGCM:AES256:AES128:3DES:“
//?“!MD5:!RC4:!aNULL:!eNULL:!EXP:!LOW:!MEDIUM:!ADH:!AECDH“;

int?pem_password_cb1(char?*buf?int?size?int?rwflag?void?*userdata)
{
return?0;
}

int?GetSrvCert(SSL?*?ssl?X509?**?pCert)
{
int?rv?=?-1;
if?(ssl?==?NULL)
{
return?rv;
}
rv?=?SSL_get_verify_result(ssl);
*pCert?=?SSL_get_peer_certificate(ssl);
return?rv;
}

//驗(yàn)證證書的合法性
int?VerifyCert(X509?*?pCert?const?char?*?hostname)
{
char?commonName[512]?=?{?0?};
X509_name_st?*?name?=?NULL;

if?(pCert?==?NULL?||?hostname?==?NULL)
{
return?-1;
}
//獲取commonName
name?=?X509_get_subject_name(pCert);
X509_NAME_get_text_by_NID(name?NID_commonName?commonName?512);
fprintf(stderr?“VerifyCert?-?Common?Name?on?certificate:?%s\n“?commonName);
if?(strcmp(commonName?hostname)?==?0)
{
printf(“證書主機(jī)名%s\n“?commonName);
return?1;
}
else
{
return?0;
}
}

int?main()??
{??
WSADATA?wsadata;
WSAStartup(MAKEWORD(2?2)?&wsadata);
sockaddr_in?sin;
int?seed_int[100];?/*存放隨機(jī)序列*/

SSL*ssl;
const?SSL_METHOD?*meth;
SSL_CTX?*ctx;

//SSL初始化??
OpenSSL_add_ssl_algorithms();

//SSL錯(cuò)誤信息初始化??
SSL_load_error_strings();


//創(chuàng)建本次會(huì)話所使用的協(xié)議
//meth?=?TLSv1_client_method();
meth?=?TLSv1_2_client_method();
//申請(qǐng)SSL會(huì)話的環(huán)境??
ctx?=?SSL_CTX_new(meth);
if?(NULL?==?ctx)
return?-1;??

//SSL_CTX_set_default_passwd_cb(ctx?pem_password_cb1);
SSL_CTX_set_default_passwd_cb_userdata(ctx?(void*)“123321“);
//設(shè)

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????1464??2017-05-10?15:57??test_tls\ca.crt

?????文件???????1738??2017-05-10?15:56??test_tls\ca.key

?????文件???????6327??2017-08-17?15:57??test_tls\client.cpp

?????文件???????3697??2017-05-10?15:59??test_tls\client.crt

?????文件????????891??2017-05-10?15:58??test_tls\client.key

?????文件???????6182??2017-07-11?16:27??test_tls\openssl\aes.h

?????文件???????3176??2017-07-11?16:27??test_tls\openssl\applink.c

?????文件??????63142??2017-07-11?16:27??test_tls\openssl\asn1.h

?????文件??????34475??2017-07-11?16:27??test_tls\openssl\asn1t.h

?????文件??????24435??2017-07-11?16:27??test_tls\openssl\asn1_mac.h

?????文件??????38566??2017-07-11?16:27??test_tls\openssl\bio.h

?????文件???????5351??2017-07-11?16:27??test_tls\openssl\blowfish.h

?????文件??????41112??2017-07-11?16:27??test_tls\openssl\bn.h

?????文件???????5026??2017-07-11?16:27??test_tls\openssl\buffer.h

?????文件???????5601??2017-07-11?16:27??test_tls\openssl\camellia.h

?????文件???????4659??2017-07-11?16:27??test_tls\openssl\cast.h

?????文件???????3257??2017-07-11?16:27??test_tls\openssl\cmac.h

?????文件??????28641??2017-07-11?16:27??test_tls\openssl\cms.h

?????文件???????2335??2017-07-11?16:27??test_tls\openssl\comp.h

?????文件??????11256??2017-07-11?16:27??test_tls\openssl\conf.h

?????文件???????4147??2017-07-11?16:27??test_tls\openssl\conf_api.h

?????文件??????27649??2017-07-11?16:27??test_tls\openssl\crypto.h

?????文件??????11913??2017-07-11?16:27??test_tls\openssl\des.h

?????文件??????21522??2017-07-11?16:27??test_tls\openssl\des_old.h

?????文件??????16134??2017-07-11?16:27??test_tls\openssl\dh.h

?????文件??????13662??2017-07-11?16:27??test_tls\openssl\dsa.h

?????文件??????20246??2017-07-11?16:27??test_tls\openssl\dso.h

?????文件???????9046??2017-07-11?16:27??test_tls\openssl\dtls1.h

?????文件????????616??2017-07-11?16:27??test_tls\openssl\ebcdic.h

?????文件??????56134??2017-07-11?16:27??test_tls\openssl\ec.h

............此處省略68個(gè)文件信息

評(píng)論

共有 條評(píng)論