4

Windowsソケットを使用して「手動で」SSL 3.0を実装しようとしています(openSSLとMS SSL APIが存在することは知っていますが、楽しみのためにそれを行い、内部ビューから学びたいだけです)

新しい SSL セッションを開始するために使用する最初のメッセージ (レコード)、SSL サーバー (実サーバー、https://yahoo.com:443など) に送信する最初の TCP メッセージは、まさにこのようなものです (16 進数) ) :

"16 03 00 00 19 01 00 00 15 03 00 bb 80 f3 8c 5d db f7 6c 94 56 d8 34 7a b5 9d 02 00 39 00"

Explanation:

16          //-- (22 in decimal) SSL3_RT_HANDSHAKE
03 00       //-- version : 3.0
00 19       //-- length of record excluding 5 bytes of header
01          //-- SSL3_MT_CLIENT_HELLO
00 00 15    //-- length of the following data
03 00       //-- SSL version 3.0
bb 80 f3 8c 5d db f7 6c 94 56 d8 34 7a b5 9d 02 00   //---- Random 16 bytes
39          //-- TLS_DHE_RSA_AES_256_CBC_SHA
00          //-- Compression method : none

しかし、サーバーは私に(10進数で)応答します:

21-3-0-0-2-2-40

この参照により、SSL ハンドシェイク プロトコルが理由の手がかりなしに失敗したことがわかります。何がうまくいかなかったのですか?

4

1 に答える 1