- PR -

OpenSSLを使ったサーバ・クライアント認証について

1
投稿者投稿内容
ひろたか
会議室デビュー日: 2006/05/12
投稿数: 2
投稿日時: 2006-05-12 00:24
はじめまして。

サーバ証明書、クライアント証明書を使ったSSLでの接続(SSL_connect)で、サーバ・クライアント共にそれぞれの証明書が正しい事をチェックしたいと思っています。
ただ、証明書チェック後のデータ通信(SSL_read/SSL_write)では暗号化は行わないで、平文での通信を行いたいです。

都合の良いような話ですが、サーバ、クライアントそれぞれの認証は行いますが、通信は平文で行いたいと思っています。

そこで、サーバ・クライアントのプログラムで、SSL_CTX_set_cipher_list に NULL-SHA, NULL-MD5を指定しましたがSSL_connect/SSL_acceptのハンドシェイク時にエラーになっていて、接続まで出来ない状況です。

もしかして、EVP系のAPIを使ってそれぞれの証明書の交換、チェックを行うのかもしれないと予想しておりますが、果たして「サーバ、クライアント証明書をそれぞれチェックするけど、通信は暗号化無し」という事が可能なのかどうかさえ掴めていないです。

このような処理は可能なのでしょうか?

よろしくお願いしします。
ひろたか
会議室デビュー日: 2006/05/12
投稿数: 2
投稿日時: 2006-05-15 02:18
自己解決しました^^;

"eNULL"を使えば大丈夫だと思って色々やったり、"NULL-SHA"とかを試しても no shared cipher とのエラーでダメだったのですが、証明書を喰わせてやったらあっさり大丈夫でした^^;

もう少し検証したら、特に証明書を使わなくても大丈夫でしたが、証明書も暗号化も使わないでSSLにする意味は特に無かったりすると思うので...

認証と経路の暗号化はそもそも別なので、クライアント、サーバ証明書での相互認証は行っても、経路の暗号化は行わないのもありですよね。
1

スキルアップ/キャリアアップ(JOB@IT)