Tera Termの個人的な作業用リポジトリ
Revision | f01cb71019b2448ebc2f370f322096397741990a (tree) |
---|---|
Time | 2022-09-11 15:04:20 |
Author | nmaya <nmaya@user...> |
Commiter | nmaya |
KEX の Client Secret の取得に DH_get0_key() を使うようにした
OpenSSL 3 では直接アクセスできないため
git-svn-id: svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk@10262 f5f01b69-1e22-0410-acbf-894ab4bd6246
@@ -5098,7 +5098,7 @@ static void SSH2_dh_kex_init(PTInstVar pvar) | ||
5098 | 5098 | buffer_t *msg = NULL; |
5099 | 5099 | unsigned char *outmsg; |
5100 | 5100 | int len; |
5101 | - BIGNUM *pub_key; | |
5101 | + BIGNUM *pub_key, *priv_key; | |
5102 | 5102 | |
5103 | 5103 | // Diffie-Hellman key agreement |
5104 | 5104 | switch (pvar->kex_type) { |
@@ -5121,7 +5121,8 @@ static void SSH2_dh_kex_init(PTInstVar pvar) | ||
5121 | 5121 | |
5122 | 5122 | // 秘密にすべき乱数(X)を生成 |
5123 | 5123 | dh_gen_key(pvar, dh, pvar->we_need); |
5124 | - log_kex_key(pvar, dh->priv_key); | |
5124 | + DH_get0_key(dh, NULL, &priv_key); | |
5125 | + log_kex_key(pvar, priv_key); | |
5125 | 5126 | |
5126 | 5127 | msg = buffer_init(); |
5127 | 5128 | if (msg == NULL) { |
@@ -5273,7 +5274,7 @@ static BOOL handle_SSH2_dh_gex_group(PTInstVar pvar) | ||
5273 | 5274 | buffer_t *msg = NULL; |
5274 | 5275 | unsigned char *outmsg; |
5275 | 5276 | char tmpbuf[256]; |
5276 | - BIGNUM *pub_key; | |
5277 | + BIGNUM *pub_key, *priv_key; | |
5277 | 5278 | |
5278 | 5279 | logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_KEX_DH_GEX_GROUP was received."); |
5279 | 5280 |
@@ -5352,7 +5353,8 @@ static BOOL handle_SSH2_dh_gex_group(PTInstVar pvar) | ||
5352 | 5353 | |
5353 | 5354 | // 秘密にすべき乱数(X)を生成 |
5354 | 5355 | dh_gen_key(pvar, dh, pvar->we_need); |
5355 | - log_kex_key(pvar, dh->priv_key); | |
5356 | + DH_get0_key(dh, NULL, &priv_key); | |
5357 | + log_kex_key(pvar, priv_key); | |
5356 | 5358 | |
5357 | 5359 | // 公開鍵をサーバへ送信 |
5358 | 5360 | msg = buffer_init(); |