Re: ssl example, wclient failed in checking certificate
In article <squ655miwpe.fsf@stellar.co.jp>,
manmos@stellar.co.jp (Hideo "Sir MaNMOS" Morishita) writes:
> In article <YAS.04Oct7185651@kirk.is.tsukuba.ac.jp>,
> yas@is.tsukuba.ac.jp (Yasushi Shinjo) writes:
>
> In article <YAS.04Oct7185651@kirk.is.tsukuba.ac.jp>,
> yas@is.tsukuba.ac.jp (Yasushi Shinjo) writes:
> > SSL では、プロトコル上、サーバの証明書は必ず送らないといけな
> > いんですか。何度も同じものを送るのは無駄のような気がするんで
> > すが。
>
> 一応SSLv3、TLSv1のプロトコル上は
>
> client hello ->
> <- server hello
> server_key_exchange
> server hello done
> client key ex ->
> .
> .
> .
>
> というプロトコルも考えられなくはないのですが(この場合だとサーバの公開
> 鍵は"temporary"とされていますので「信用がない」状態となります。実装上
> どうするかなので、固定してしまうこともできはするでしょうが。)、OpenSSL
> でそういう実装になっているかどうかは、調べていません。(あったような気
> はします。)
>
> 通常はserver helloのあとに(server)certificateがあります。ちなみにその
> あと、certificate_requestを続けるとクライアントの認証も証明書ベースで
> 行うこととなります。この実装はOpenSSLにもあります。
>
> まあ、無駄と言えば無駄なんでしょうけど、回線も速くなってきたことだし、
> 精々2KByteの証明書を送ることくらい(そして、サーバ側だけの認証だけなら)
> 多対多の暗号通信では、それが一番ユーザの負担が少ない方法だと評価できま
> す。
一応、短期間の間は同一のSSLセッションIDで接続してきた際に、同一の
master key(共有鍵)をつかう(resumption)ってのはありますが、それはそれで
別の話ですね。(そのときはサーバ側はserver helloで即server hello done、
change cipher suite、finishとなります。)
--
___ わしは、山吹色のかすてーらが大好きでのぅ
[[o o]] ふぉっふぉっふぉ
'J' 森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D 02 74 87 52 7C B7 39 37
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735