改版履歴

Cente SSL

server側でのメモリリークを修正

serverがDHを作成した時に、メモリリークするバグを修正。clientは影響なし。

server側でのsession cacheに対応

tcps_set_session_cache()で、session cacheを有効にできるようにした

証明書に書かれているホスト名をチェックする関数を作成

tcps_checkcert_host()で、証明書のCommonName, subjectAltNameをチェックできるようにした

tcps_cls_cepで引数tmoutを使っていなかった

引数tmoutをtcp_cls_cepに渡すようにした

serverから通信を切る時にもclose notiryを送るようにした

close notifyを送らないと、client側からclose notifyが再送される事がある。実害は無し。

Cente SSL

tcps_con_cep()とtcps_acp_cep()の返り値の変更

今まで(ver1.13以前)は、SSLプロトコルのエラー発生時にはE_OBJを返していた。今回、 EV_SSL,EV_SSL_BAD_CERT等のエラーコードを新たに定義し、これらの詳細なエラーコードを返すようにした。ver1.13以前の動作に戻すには、ctssl_cfg.hのSSL_USE_SIMPLE_ERRCODEに0にすれば良い。

マニュアルの誤記修正

「5.3SSLでのページ取得」のソースには、rsp.usessl=1とあるが、req.usessl=1が正しい。

Cente SSL

マニュアルにHTTPcの導入方法を追加

CenteHTTPcがSSLに対応したので、マニュアルに説明を追加。

APIの追加

tcps_accept()、tcps_connect()を追加。

CRL(失効証明書)に対応

tcps_set_crl()を追加。

マニュアルに鍵の作成例を追記

マニュアルに、opensslコマンドを用いての鍵の作成方法の例を追記。

Cente SSL

Diffie-Hellmanに対応

ctssh_dh1024.cとctssh_dh512.cを追加。また、Diffie-Hellmanを使った匿名鍵交換にも対応。

tcp_snd_datとtcp_rcv_datのタイムアウトを指定可能にした

SSLの下のレイヤであるTCPの通信のタイムアウトをTMO_FEVR固定としていたが、

SSL_SEND_TIMEOUTとSSL_RECV_TIMEOUTマクロで指定できるようにした。

SSLクライアント機能を追加

SSLクライアント用の初期化APIであるtcps_setup_client()を作成。

通信相手の認証に対応

tcps_set_trusted_cert()を追加。また認証機能の追加にともない、tcps_setup_server()に引数を追加。

DSA鍵に対応

tcps_set_privkeyDSA()を追加。

tcps_rcv_datとtcps_snd_datのリターン値が不正な事があるのを修正

tcps_rcv_datとtcps_snd_datが、下位層であるTCPのエラーコードを正しく返さない事があるのを修正。

tcps_set_privkey()を非推奨のAPIとした

代わりに、tcps_set_privkeyRSA()の使用を推奨。

CenteCTLIBv1.01以上が必要

証明書の日付チェックのために、cttimeが必要。

CenteCRYPTOv1.01以上が必要

TCPのエラーコード取得にのために、BIOにメンバを追加したため。