| 1121 |
|
|
| 1122 |
SendMessage(GetDlgItem(dlg, IDC_FP_RANDOMART), WM_SETFONT, (WPARAM)GetStockObject(ANSI_FIXED_FONT), TRUE); |
SendMessage(GetDlgItem(dlg, IDC_FP_RANDOMART), WM_SETFONT, (WPARAM)GetStockObject(ANSI_FIXED_FONT), TRUE); |
| 1123 |
|
|
| 1124 |
CheckDlgButton(dlg, IDC_FP_HASH_ALG_MD5, TRUE); |
CheckDlgButton(dlg, IDC_FP_HASH_ALG_SHA256, TRUE); |
| 1125 |
hosts_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_MD5); |
hosts_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_SHA256); |
| 1126 |
} |
} |
| 1127 |
|
|
| 1128 |
static int print_mp_int(char FAR * buf, unsigned char FAR * mp) |
static int print_mp_int(char FAR * buf, unsigned char FAR * mp) |
| 1519 |
} |
} |
| 1520 |
|
|
| 1521 |
// 接続中のサーバのキーを読み込む |
// 接続中のサーバのキーを読み込む |
| 1522 |
memset(&key, 0, sizeof(key)); |
key_copy(&key, &(pvar->hosts_state.hostkey)); |
|
switch (pvar->hosts_state.hostkey.type) { |
|
|
case KEY_RSA1: // SSH1 |
|
|
key.type = KEY_RSA1; |
|
|
key.bits = pvar->hosts_state.hostkey.bits; |
|
|
key.exp = copy_mp_int(pvar->hosts_state.hostkey.exp); |
|
|
key.mod = copy_mp_int(pvar->hosts_state.hostkey.mod); |
|
|
break; |
|
|
case KEY_RSA: // SSH2 RSA |
|
|
key.type = KEY_RSA; |
|
|
key.rsa = duplicate_RSA(pvar->hosts_state.hostkey.rsa); |
|
|
break; |
|
|
case KEY_DSA: // SSH2 DSA |
|
|
key.type = KEY_DSA; |
|
|
key.dsa = duplicate_DSA(pvar->hosts_state.hostkey.dsa); |
|
|
break; |
|
|
case KEY_ECDSA256: |
|
|
case KEY_ECDSA384: |
|
|
case KEY_ECDSA521: |
|
|
key.type = pvar->hosts_state.hostkey.type; |
|
|
key.ecdsa = EC_KEY_dup(pvar->hosts_state.hostkey.ecdsa); |
|
|
break; |
|
|
case KEY_ED25519: |
|
|
key.type = pvar->hosts_state.hostkey.type; |
|
|
key.ed25519_pk = duplicate_ED25519_PK(pvar->hosts_state.hostkey.ed25519_pk); |
|
|
break; |
|
|
} |
|
| 1523 |
|
|
| 1524 |
// ファイルから読み込む |
// ファイルから読み込む |
| 1525 |
begin_read_host_files(pvar, 0); |
begin_read_host_files(pvar, 0); |
| 1714 |
} |
} |
| 1715 |
|
|
| 1716 |
// 接続中のサーバのキーを読み込む |
// 接続中のサーバのキーを読み込む |
| 1717 |
memset(&key, 0, sizeof(key)); |
key_copy(&key, &(pvar->hosts_state.hostkey)); |
|
switch (pvar->hosts_state.hostkey.type) { |
|
|
case KEY_RSA1: // SSH1 |
|
|
key.type = KEY_RSA1; |
|
|
key.bits = pvar->hosts_state.hostkey.bits; |
|
|
key.exp = copy_mp_int(pvar->hosts_state.hostkey.exp); |
|
|
key.mod = copy_mp_int(pvar->hosts_state.hostkey.mod); |
|
|
break; |
|
|
case KEY_RSA: // SSH2 RSA |
|
|
key.type = KEY_RSA; |
|
|
key.rsa = duplicate_RSA(pvar->hosts_state.hostkey.rsa); |
|
|
break; |
|
|
case KEY_DSA: // SSH2 DSA |
|
|
key.type = KEY_DSA; |
|
|
key.dsa = duplicate_DSA(pvar->hosts_state.hostkey.dsa); |
|
|
break; |
|
|
case KEY_ECDSA256: |
|
|
case KEY_ECDSA384: |
|
|
case KEY_ECDSA521: |
|
|
key.type = pvar->hosts_state.hostkey.type; |
|
|
key.ecdsa = EC_KEY_dup(pvar->hosts_state.hostkey.ecdsa); |
|
|
break; |
|
|
case KEY_ED25519: |
|
|
key.type = pvar->hosts_state.hostkey.type; |
|
|
key.ed25519_pk = duplicate_ED25519_PK(pvar->hosts_state.hostkey.ed25519_pk); |
|
|
break; |
|
|
} |
|
| 1718 |
|
|
| 1719 |
// ファイルから読み込む |
// ファイルから読み込む |
| 1720 |
begin_read_host_files(pvar, 0); |
begin_read_host_files(pvar, 0); |
| 2445 |
} |
} |
| 2446 |
|
|
| 2447 |
// known_hosts に存在しないキーはあとでファイルへ書き込むために、ここで保存しておく。 |
// known_hosts に存在しないキーはあとでファイルへ書き込むために、ここで保存しておく。 |
| 2448 |
pvar->hosts_state.hostkey.type = key->type; |
key_copy(&(pvar->hosts_state.hostkey), key); |
| 2449 |
switch (key->type) { |
|
|
case KEY_RSA1: // SSH1 |
|
|
pvar->hosts_state.hostkey.bits = key->bits; |
|
|
pvar->hosts_state.hostkey.exp = copy_mp_int(key->exp); |
|
|
pvar->hosts_state.hostkey.mod = copy_mp_int(key->mod); |
|
|
break; |
|
|
case KEY_RSA: // SSH2 RSA |
|
|
pvar->hosts_state.hostkey.rsa = duplicate_RSA(key->rsa); |
|
|
break; |
|
|
case KEY_DSA: // SSH2 DSA |
|
|
pvar->hosts_state.hostkey.dsa = duplicate_DSA(key->dsa); |
|
|
break; |
|
|
case KEY_ECDSA256: // SSH2 ECDSA |
|
|
case KEY_ECDSA384: |
|
|
case KEY_ECDSA521: |
|
|
pvar->hosts_state.hostkey.ecdsa = EC_KEY_dup(key->ecdsa); |
|
|
break; |
|
|
case KEY_ED25519: |
|
|
pvar->hosts_state.hostkey.ed25519_pk = duplicate_ED25519_PK(key->ed25519_pk); |
|
|
break; |
|
|
} |
|
| 2450 |
free(pvar->hosts_state.prefetched_hostname); |
free(pvar->hosts_state.prefetched_hostname); |
| 2451 |
pvar->hosts_state.prefetched_hostname = _strdup(hostname); |
pvar->hosts_state.prefetched_hostname = _strdup(hostname); |
| 2452 |
|
|