青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woomsg

在路上

openssl使用(補)

1. 使用OpenSSL內置的數據結構BIO可以方便的創建安全和非安全鏈接,
在IBM Web上的"使用OpenSSL進行安全編程"系列的三篇文章是個不錯的入門:
http://www.ibm.com/developerworks/cn/linux/l-openssl.html

http://www.ibm.com/developerworks/cn/linux/l-openssl2.html
http://www.ibm.com/developerworks/cn/linux/l-openssl3.html

安全鏈接的簡要概述:
安全連接要求在連接建立后進行握手。在握手過程中,服務器向客戶機發送一個證書, 然后,客戶機根據一組可信任證書來核實該證書。它還將檢查證書,以確保它沒有過期。要 檢驗證書是可信任的,需要在連接建立之前提前加載一個可信任證書庫。
只有在服務器發出請求時,客戶機才會向服務器發送一個證書。該過程叫做客戶機認證。使用證書, 在客戶機和服務器之間傳遞密碼參數,以建立安全連接。盡管握手是在建立連接之后才進行的,但是客戶機或服務器可以在任何時刻請求進行一次新的握手。

附帶兩個Demo:分別是使用BIO建立普通的socket鏈接和ssl鏈接, 并下載google得主頁.

 1#include "openssl/ssl.h"
 2#include "openssl/bio.h"
 3#include "openssl/err.h"
 4
 5
 6#include <iostream>
 7#include <winsock2.h>
 8
 9
10#pragma comment( lib, "ws2_32.lib" )
11#pragma comment( lib, "libeay32.lib" )
12#pragma comment( lib, "ssleay32.lib" )
13
14
15int main( int argc, char* argv[] ) {
16  ////////////
17  // 初始化 //
18  ////////////
19  BIO* bio;
20  int ret;
21  char* request = "GET / HTTP/1.1\x0D\x0AHost: www.google.com\x0D\x0A\x43onnection: Close\x0D\x0A\x0D\x0A";
22  char buf[1024];
23
24  ERR_load_BIO_strings();
25  SSL_load_error_strings();
26  SSLeay_add_ssl_algorithms();
27
28
29  //////////////
30  // 建立鏈接 //
31  //////////////
32
33  bio = BIO_new_connect("www.google.com:80");
34  if(bio == NULL) {
35    std::cout<<"BIO_new_connect error."<<std::endl;
36    return -1;
37  }

38
39  if(BIO_do_connect(bio) <= 0{
40    std::cout<<"BIO_new_connect error."<<std::endl;
41    BIO_free_all(bio);
42    return -1;
43  }

44
45  // 發送請求
46  BIO_write(bio, request, strlen(request));
47
48  // 接收數據
49  for(;;) {
50    ret = BIO_read(bio, buf, 1023);
51    if(ret <= 0{
52      break;
53    }

54    buf[ret] = 0;
55    std::cout<<buf<<std::endl;
56  }

57
58  BIO_free_all(bio);
59  return 0;
60}

 1#include "openssl/ssl.h"
 2#include "openssl/bio.h"
 3#include "openssl/err.h"
 4
 5
 6#include <iostream>
 7#include <winsock2.h>
 8
 9
10#pragma comment( lib, "ws2_32.lib" )
11#pragma comment( lib, "libeay32.lib" )
12#pragma comment( lib, "ssleay32.lib" )
13
14// 我們默認對服務器的證書都是可信的,沒有進行服務器證書的驗證.
15int main( int argc, char* argv[] ) {
16  ////////////
17  // 初始化 //
18  ////////////
19  SSL* ssl;
20  SSL_CTX* ctx;
21
22  BIO* bio;
23  int ret;
24  char* request = "GET / HTTP/1.1\x0D\x0AHost: www.google.com\x0D\x0A\x43onnection: Close\x0D\x0A\x0D\x0A";
25  char buf[1024];
26
27  ERR_load_BIO_strings();
28  SSL_load_error_strings();
29  SSLeay_add_ssl_algorithms();
30
31  ctx = SSL_CTX_new ( SSLv23_client_method() );
32  if (!ctx) {
33    ERR_print_errors_fp(stderr);
34    std::cout<<"SSL_CTX_new error."<<std::endl;
35    return -1;
36  }

37
38  //////////////
39  // 建立鏈接 //
40  //////////////
41  bio = BIO_new_ssl_connect(ctx);
42  BIO_get_ssl(bio, & ssl);
43  SSL_set_mode(ssl, SSL_MODE_AUTO_RETRY);
44  BIO_set_conn_hostname(bio, "www.google.com:443");
45  if(BIO_do_connect(bio) <= 0{
46    std::cout<<"BIO_do_connect error."<<std::endl;
47    return -1;
48  }

49  
50
51  // 發送請求
52  BIO_write(bio, request, strlen(request));
53
54  // 接收數據
55  for(;;) {
56    ret = BIO_read(bio, buf, 1023);
57    if(ret <= 0{
58      break;
59    }

60    buf[ret] = 0;
61    std::cout<<buf<<std::endl;
62  }

63
64  BIO_free_all(bio);
65  SSL_CTX_free(ctx);
66  return 0;
67}

68

posted on 2008-10-22 10:48 ysong.lee 閱讀(2862) 評論(10)  編輯 收藏 引用

Feedback

# re: openssl使用(補) 2009-03-25 09:54 PGG

如何使用DTLS?  回復  更多評論   

# re: openssl使用(補) 2010-06-15 03:44 ReillyMelva

When you are in the corner and have no cash to move out from that point, you would need to receive the <a href="http://lowest-rate-loans.com/topics/credit-loans">credit loans</a>. Just because that should aid you unquestionably. I get commercial loan every single year and feel great just because of it.   回復  更多評論   

# re: openssl使用(補) 2010-09-28 21:55 essay writer

Thanks a lot that you created the good enough outcome associated with this topic. Though, to find the professional essay writing service, all of us must have some knowledge about custom write.   回復  更多評論   

# re: openssl使用(補) 2011-09-30 14:14 loans

Following my own analysis, billions of persons on our planet get the business loans at good banks. Thus, there's great possibilities to find a student loan in any country.   回復  更多評論   

# re: openssl使用(補) 2013-04-10 02:34 essay writing service review

Have no clue which firm to choose to get aid from? Look through QualityEssays testimonials best-writing-services.com, and take a right choice.  回復  更多評論   

# re: openssl使用(補) 2013-04-10 13:56 resume writing samples

Can’t complete remarkable CV yourself? Paper writing agencies accessible online will help you out with pleasure whenever you desire to try buying resume online.  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线中文字幕一区| 国产欧美日韩亚洲| 亚洲国产日韩欧美综合久久| 亚洲一区影院| 最新成人av在线| 在线观看91久久久久久| 国产亚洲综合在线| 国产自产v一区二区三区c| 国产亚洲欧美激情| 在线免费观看视频一区| 亚洲精品视频免费| 亚洲欧美日韩另类精品一区二区三区| 一区二区三区毛片| 欧美一乱一性一交一视频| 久久精品视频免费| 欧美成人激情在线| 99视频精品在线| 久久精视频免费在线久久完整在线看| 久久久久成人精品| 欧美日韩在线视频观看| 国内自拍一区| 亚洲一区高清| 亚洲电影有码| 欧美主播一区二区三区美女 久久精品人 | 欧美一区二区三区精品电影| 久久天堂国产精品| 亚洲美洲欧洲综合国产一区| 欧美在线免费观看视频| 国产精品免费一区二区三区在线观看 | 另类综合日韩欧美亚洲| 一区二区三区四区五区视频| 久久久999| 国产区日韩欧美| 久久av二区| 欧美一区二区三区的| 国产精品网站在线| 久久av资源网站| 午夜精品久久久久| 韩国美女久久| 欧美激情在线狂野欧美精品| 久久综合综合久久综合| 亚洲人成亚洲人成在线观看| 欧美激情久久久久| 欧美激情在线免费观看| 99热精品在线| 亚洲一区二区三区国产| 国产精品欧美在线| 欧美xart系列高清| 欧美日韩第一区| 欧美伊人影院| 欧美成人精品在线| 欧美日韩福利视频| 亚洲欧美日韩精品久久久| 午夜天堂精品久久久久| 亚洲欧洲日本国产| 一区二区三区高清在线观看| 国产精品爽爽ⅴa在线观看| 蜜桃伊人久久| 欧美日韩亚洲一区二区三区在线| 亚洲欧美中文在线视频| 欧美日韩国产高清| 亚洲一级黄色av| 免费亚洲电影在线观看| 久久狠狠婷婷| 国产精品羞羞答答| 亚洲高清精品中出| 国产日韩精品在线观看| 欧美激情第3页| 国产精品有限公司| 99av国产精品欲麻豆| 亚洲国产精品女人久久久| 欧美午夜精品久久久久免费视| 欧美黄色日本| 亚洲精品国产精品国自产观看| 久久夜精品va视频免费观看| 久久精品视频在线播放| 国产欧美另类| 欧美一区亚洲一区| 蜜臀久久99精品久久久画质超高清 | 欧美电影美腿模特1979在线看 | 国产精品一二三视频| 理论片一区二区在线| 国产精品三级视频| 久久精品中文字幕一区| 国产精品日韩专区| 亚洲一区二区成人| 欧美中在线观看| 亚洲经典自拍| 国产精品久久久久毛片大屁完整版 | 极品裸体白嫩激情啪啪国产精品 | 久久久久久精| 亚洲国产合集| 国产精品夜夜嗨| 欧美国产亚洲另类动漫| 亚洲欧美国产va在线影院| 久久综合色一综合色88| 亚洲在线视频观看| 亚洲第一区中文99精品| 欧美四级伦理在线| 欧美成人免费在线视频| 欧美亚洲在线播放| 中文精品一区二区三区 | 亚洲欧洲日本专区| 国产欧美1区2区3区| 欧美日本韩国一区| 免费看精品久久片| 久久一区二区三区四区五区| 欧美一区二区三区男人的天堂| 亚洲精品久久久蜜桃| 久久免费视频在线| 久久精品一区二区三区不卡| 夜夜嗨av一区二区三区四区 | 国产精品国产a级| 欧美激情综合五月色丁香小说| 久久精品女人的天堂av| 欧美专区在线播放| 久久人人爽爽爽人久久久| 亚洲欧美日韩天堂| 欧美一区二区精品| 久久精品123| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美亚男人的天堂| 欧美精品久久久久久久久久| 欧美xxx成人| 欧美日韩视频专区在线播放 | 欧美在线观看网址综合| 性一交一乱一区二区洋洋av| 午夜欧美精品久久久久久久| 欧美一区午夜精品| 欧美mv日韩mv亚洲| 国产视频久久久久| 亚洲欧洲精品天堂一级| 性欧美videos另类喷潮| 欧美不卡在线视频| 中文在线不卡| 欧美大色视频| 国内精品国产成人| 亚洲一区二区三区影院| 美女视频一区免费观看| 亚洲一区二区视频| 欧美日韩mp4| 亚洲三级网站| 免费欧美在线视频| 久久福利毛片| 国产在线高清精品| 午夜精品久久久久久久99热浪潮| 欧美激情亚洲国产| 久久久青草婷婷精品综合日韩| 国产精品久久久久久影视| 99香蕉国产精品偷在线观看| 免费在线欧美视频| 久久久午夜视频| 亚洲黄色免费电影| 久久国产一区二区三区| 国产日韩欧美不卡在线| 欧美一级视频一区二区| 亚洲欧美另类久久久精品2019| 国产精品乱码| 久久亚洲影院| 欧美插天视频在线播放| 9l国产精品久久久久麻豆| 99国产精品国产精品久久| 欧美日韩日日骚| 久久不射网站| 欧美69wwwcom| 午夜欧美不卡精品aaaaa| 欧美一区二区三区四区在线| 在线观看成人小视频| 欧美成人伊人久久综合网| 欧美日韩国产在线看| 久久久视频精品| 欧美精品免费播放| 久久精品视频亚洲| 欧美午夜免费| 欧美福利视频| 国产欧美精品| 亚洲天堂男人| 日韩视频中文| 久久夜色精品国产欧美乱| 亚洲在线1234| 欧美激情欧美激情在线五月| 欧美专区一区二区三区| 欧美性淫爽ww久久久久无| 亚洲国产欧美一区二区三区同亚洲| 国产精品―色哟哟| 在线亚洲观看| 亚洲视频每日更新| 欧美日韩成人激情| 亚洲国产高清aⅴ视频| 经典三级久久| 久久狠狠一本精品综合网| 久久av资源网| 一区二区三区在线免费播放| 亚洲免费人成在线视频观看| 亚洲自拍偷拍视频| 国产精品入口| 久久精品人人做人人综合 | 一区二区三区日韩欧美精品| 妖精成人www高清在线观看| 欧美日韩精品免费观看视一区二区 |