SSL_CTX_new

今度はセキュアな接続をしていこうとおもう。
まずは、SSL情報を持つSSLコンテキストを作成する。
SSLコンテキストはSSL_CTX_newで作成する。

/docs/man1.0.2/ssl/SSL_CTX_new.html

SSL_CTX_new.cで、

SSL_CTX型ポインタctxを用意。

SSL_library_initで初期化をする。
(SSL_library_initがないと、SSL_CTX_newでNULLが返ってくる。IBMのサンプルには無いけど。)

SSL_CTX_newにSSLv23_client_method関数を指定すると、SSLv2、SSLv3、TLSv1のどれかを利用することになる。
("必ずTLSv1にする"といった個別に指定する関数もある。)
コンテキストのポインタをctxに格納し、それを出力。

終わったら、SSL_CTX_freeでctxを解放。

$ vi SSL_CTX_new.c 
$ gcc -o SSL_CTX_new SSL_CTX_new.c -lssl -lcrypto
$ ./SSL_CTX_new 
ctx = 00d10820
$

SSLコンテキストを作成できた。

Sample/openssl/SSL_CTX_new/SSL_CTX_new/src/SSL_CTX_new at master · bg1bgst333/Sample · GitHub