svnno****@sourc*****
svnno****@sourc*****
2014年 3月 20日 (木) 00:22:45 JST
Revision: 5552 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5552 Author: maya Date: 2014-03-20 00:22:45 +0900 (Thu, 20 Mar 2014) Log Message: ----------- ファイル形式がわからない SSH 秘密鍵も PEM_read_PrivateKey() で読み込みに行くようにした Modified Paths: -------------- trunk/ttssh2/ttxssh/auth.c trunk/ttssh2/ttxssh/keyfiles.c -------------- next part -------------- Modified: trunk/ttssh2/ttxssh/auth.c =================================================================== --- trunk/ttssh2/ttxssh/auth.c 2014-03-19 15:20:39 UTC (rev 5551) +++ trunk/ttssh2/ttxssh/auth.c 2014-03-19 15:22:45 UTC (rev 5552) @@ -520,11 +520,23 @@ default: { char buf[1024]; + + // \x83t\x83@\x83C\x83\x8B\x82\xAA\x8AJ\x82\xAF\x82\xBD\x8Fꍇ\x82̓t\x83@\x83C\x83\x8B\x8C`\x8E\xAE\x82\xAA\x95s\x96\xBE\x82ł\xE0\x93ǂݍ\x9E\x82\xF1\x82ł݂\xE9 + if (fp != NULL) { + key_pair = read_SSH2_private_key(pvar, fp, password, + &invalid_passphrase, + FALSE, + errmsg, + sizeof(errmsg) + ); + break; + } + UTIL_get_lang_msg("MSG_READKEY_ERROR", pvar, "read error SSH2 private key file\r\n%s"); _snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, errmsg); notify_nonfatal_error(pvar, buf); - // \x82\xB1\x82\xB1\x82ɗ\x88\x82\xBD\x82Ƃ\xA2\x82\xA4\x82\xB1\x82Ƃ\xCD SSH2 \x94閧\x8C\xAE\x82\xAA\x8AJ\x82\xAF\x82Ȃ\xA2\x81A\x82\xA0\x82邢\x82̓t\x83@\x83C\x83\x8B\x8C`\x8E\xAE\x82\xAA\x82\xA8\x82\xA9\x82\xB5\x82\xA2\x82̂\xC5 + // \x82\xB1\x82\xB1\x82ɗ\x88\x82\xBD\x82Ƃ\xA2\x82\xA4\x82\xB1\x82Ƃ\xCD SSH2 \x94閧\x8C\xAE\x83t\x83@\x83C\x83\x8B\x82\xAA\x8AJ\x82\xAF\x82Ȃ\xA2\x82̂\xC5 // \x8C\xAE\x83t\x83@\x83C\x83\x8B\x82̑I\x91\xF0\x83{\x83^\x83\x93\x82Ƀt\x83H\x81[\x83J\x83X\x82\xF0\x88ڂ\xB7 SetFocus(GetDlgItem(dlg, IDC_CHOOSERSAFILE)); destroy_malloced_string(&password); Modified: trunk/ttssh2/ttxssh/keyfiles.c =================================================================== --- trunk/ttssh2/ttxssh/keyfiles.c 2014-03-19 15:20:39 UTC (rev 5551) +++ trunk/ttssh2/ttxssh/keyfiles.c 2014-03-19 15:22:45 UTC (rev 5552) @@ -1478,8 +1478,8 @@ } if (ret == SSH2_KEYFILE_TYPE_NONE) { - fclose(*fp); strncpy_s(errmsg, errmsg_len, "Unknown key file type.", _TRUNCATE); + fseek(*fp, 0, SEEK_SET); return ret; }