2011-04-06 18 views
0

私はopenssl exampleをcで見ています。ssl。 bsdソケットからsslを追加/削除できますか?

まず、普通のbsdソケットを作成して、
の上にssl機能を追加するように見えます。 tcp_connect(ホスト、ポート)は、通常のBSDソケットを返し

/* Connect the TCP socket*/ 
sock=tcp_connect(host,port); 

/* 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"); 

。(この投稿を短くするために、私はここにコードを貼り付けていないよ)

私の質問はwouldn」
1であり、 sslの下でデータを転送するのが遅くなります。
2.もしそうなら、ソケットからsslを削除して普通のtcpソケットにすることができますか?(Webサイトにはログインページ用のhttpsと他のページ用のhttpがあります。認証パケットIが定義する)

はありがとう

答えて

0

はい、SSL層が上の単純なソケットである、とあなたはソケットがまだ便利ですSSLセッションを閉じて、あなたがそれを使用することができます。

I.E.クライアント認証のためにプロトコルの2つの部分の間でsslセッションを確立し、認証後にSSL接続を閉じ、残りの接続に対してソケットを使用することができます。

関連する問題