OSDN Git Service

Change behavior of confirming certificate.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 15 Oct 2011 12:49:34 +0000 (21:49 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 15 Oct 2011 12:49:34 +0000 (21:49 +0900)
Modify UI for encryption.

12 files changed:
FFFTP_Eng_Release/FFFTP.exe
Release/FFFTP.exe
Resource/FFFTP.rc
Resource/resource.h
Resource_eng/FFFTP-eng.rc
Resource_eng/resource.h
common.h
connect.c
history.c
hostman.c
main.c
registory.c

index 42187d8..c7125c4 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index 63a2e03..4a6ab28 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index 4daf284..4f3f343 100644 (file)
@@ -1346,9 +1346,13 @@ hset_crypt_dlg DIALOG  0, 0, 207, 139
 STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION\r
 FONT 9, "\82l\82\82o\83S\83V\83b\83N"\r
 BEGIN\r
-    CONTROL         "FTPS (Explicit)\82Å\90Ú\91±",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,7,7,148,10\r
-    CONTROL         "FTPS (Implicit)\82Å\90Ú\91±",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10\r
-    CONTROL         "SFTP\82Å\90Ú\91±",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10\r
+    CONTROL         "\88Ã\8d\86\89»\82È\82µ\82Å\90Ú\91±\82ð\8b\96\89Â",HSET_NO_ENCRYPTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,148,10\r
+    CONTROL         "FTPS (Explicit)\82Å\90Ú\91±",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10\r
+    CONTROL         "FTPS (Implicit)\82Å\90Ú\91±",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10\r
+    CONTROL         "SFTP\82Å\90Ú\91±",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,49,148,10\r
+    LTEXT           "\94é\96§\8c®\82Ì\83e\83L\83X\83g",-1,7,63,64,8\r
+    PUSHBUTTON      "...",PKEY_FILE_BR,72,63,13,12\r
+    EDITTEXT        HSET_PRIVATE_KEY,7,79,193,44,ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL | WS_HSCROLL\r
 END\r
 \r
 hset_adv3_dlg DIALOG  0, 0, 207, 139\r
index e3e0b81..c954fa9 100644 (file)
 #define HSET_SJIS_CNV                   1195\r
 #define HSET_UTF8N_CNV                  1196\r
 #define HSET_FN_SJIS_CNV                1197\r
-#define HSET_FTPES                      1198\r
-#define HSET_FTPIS                      1199\r
-#define HSET_SFTP                       1200\r
-#define HSET_THREAD_COUNT               1201\r
-#define HSET_THREAD_COUNT_SPN           1202\r
+#define HSET_NO_ENCRYPTION              1198\r
+#define HSET_FTPES                      1199\r
+#define HSET_FTPIS                      1200\r
+#define HSET_SFTP                       1201\r
+#define PKEY_FILE_BR                    1202\r
+#define HSET_PRIVATE_KEY                1203\r
+#define HSET_THREAD_COUNT               1204\r
+#define HSET_THREAD_COUNT_SPN           1205\r
 #define MENU_END                        40001\r
 #define MENU_EXIT                       40001\r
 #define MENU_CONNECT                    40003\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
 #define _APS_NEXT_RESOURCE_VALUE        191\r
 #define _APS_NEXT_COMMAND_VALUE         40175\r
-#define _APS_NEXT_CONTROL_VALUE         1203\r
+#define _APS_NEXT_CONTROL_VALUE         1206\r
 #define _APS_NEXT_SYMED_VALUE           101\r
 #endif\r
 #endif\r
index 37c2411..148c08b 100644 (file)
@@ -1371,9 +1371,13 @@ hset_crypt_dlg DIALOG  0, 0, 207, 139
 STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION\r
 FONT 9, "MS Sans Serif"\r
 BEGIN\r
-    CONTROL         "Connect with FTPS (Explicit)",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,7,7,148,10\r
-    CONTROL         "Connect with FTPS (Implicit)",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10\r
-    CONTROL         "Connect with SFTP",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10\r
+    CONTROL         "Allow to connect without encryption",HSET_NO_ENCRYPTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,148,10\r
+    CONTROL         "Connect with FTPS (Explicit)",HSET_FTPES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,148,10\r
+    CONTROL         "Connect with FTPS (Implicit)",HSET_FTPIS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,148,10\r
+    CONTROL         "Connect with SFTP",HSET_SFTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,49,148,10\r
+    LTEXT           "Private key text",-1,7,63,64,8\r
+    PUSHBUTTON      "...",PKEY_FILE_BR,72,63,13,12\r
+    EDITTEXT        HSET_PRIVATE_KEY,7,79,193,44,ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL | WS_HSCROLL\r
 END\r
 \r
 hset_adv3_dlg DIALOG  0, 0, 207, 139\r
index f78cc7f..6fe26a3 100644 (file)
 #define HSET_SJIS_CNV                   1195\r
 #define HSET_UTF8N_CNV                  1196\r
 #define HSET_FN_SJIS_CNV                1197\r
-#define HSET_FTPES                      1198\r
-#define HSET_FTPIS                      1199\r
-#define HSET_SFTP                       1200\r
-#define HSET_THREAD_COUNT               1201\r
-#define HSET_THREAD_COUNT_SPN           1202\r
+#define HSET_NO_ENCRYPTION              1198\r
+#define HSET_FTPES                      1199\r
+#define HSET_FTPIS                      1200\r
+#define HSET_SFTP                       1201\r
+#define PKEY_FILE_BR                    1202\r
+#define HSET_PRIVATE_KEY                1203\r
+#define HSET_THREAD_COUNT               1204\r
+#define HSET_THREAD_COUNT_SPN           1205\r
 #define MENU_END                        40001\r
 #define MENU_EXIT                       40001\r
 #define MENU_CONNECT                    40003\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
 #define _APS_NEXT_RESOURCE_VALUE        191\r
 #define _APS_NEXT_COMMAND_VALUE         40175\r
-#define _APS_NEXT_CONTROL_VALUE         1203\r
+#define _APS_NEXT_CONTROL_VALUE         1206\r
 #define _APS_NEXT_SYMED_VALUE           101\r
 #endif\r
 #endif\r
index 0cbc4bf..b22bbe1 100644 (file)
--- a/common.h
+++ b/common.h
@@ -71,7 +71,7 @@
 //#define VER_NUM                                      1921            /* 設定バージョン */\r
 //#define PROGRAM_VERSION_NUM          1972            /* バージョン */\r
 #define VER_STR                                        "1.99"\r
-#define VER_NUM                                        1980            /* 設定バージョン */\r
+#define VER_NUM                                        1990            /* 設定バージョン */\r
 #define PROGRAM_VERSION_NUM            1990            /* バージョン */\r
 \r
 \r
 \r
 #define ONELINE_BUF_SIZE       (10*1024)\r
 \r
+// 暗号化通信対応\r
+#define PRIVATE_KEY_LEN 4096\r
+\r
 /*===== 初期値 =====*/\r
 \r
 #define SAMBA_HEX_TAG  ':'                             /* Samba-HEX の区切り文字 */\r
@@ -932,6 +935,7 @@ typedef struct {
        int UseFTPES;                                           /* FTPESで接続する (YES/NO) */\r
        int UseFTPIS;                                           /* FTPISで接続する (YES/NO) */\r
        int UseSFTP;                                            /* SFTPで接続する (YES/NO) */\r
+       char PrivateKey[PRIVATE_KEY_LEN+1];     /* テキスト形式の秘密鍵 */\r
        // 同時接続対応\r
        int MaxThreadCount;                                     /* 同時接続数 */\r
        // FEAT対応\r
@@ -987,9 +991,11 @@ typedef struct historydata {
        int DialupNotify;                                       /* 再接続の際に確認する (YES/NO) */\r
        char DialEntry[RAS_NAME_LEN+1];         /* ダイアルアップエントリ */\r
        // 暗号化通信対応\r
+       int UseNoEncryption;                            /* 暗号化なしで接続する (YES/NO) */\r
        int UseFTPES;                                           /* FTPESで接続する (YES/NO) */\r
        int UseFTPIS;                                           /* FTPISで接続する (YES/NO) */\r
        int UseSFTP;                                            /* SFTPで接続する (YES/NO) */\r
+       char PrivateKey[PRIVATE_KEY_LEN+1];     /* テキスト形式の秘密鍵 */\r
        // 同時接続対応\r
        int MaxThreadCount;                                     /* 同時接続数 */\r
        // MLSD対応\r
@@ -1405,9 +1411,11 @@ int AskTryingConnect(void);
 int SocksGet2ndBindReply(SOCKET Socket, SOCKET *Data);\r
 // 暗号化通信対応\r
 int AskCryptMode(void);\r
+int AskUseNoEncryption(void);\r
 int AskUseFTPES(void);\r
 int AskUseFTPIS(void);\r
 int AskUseSFTP(void);\r
+char *AskPrivateKey(void);\r
 // 同時接続対応\r
 int AskMaxThreadCount(void);\r
 // FEAT対応\r
index 7e1e819..d008b59 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -1271,7 +1271,8 @@ static SOCKET DoConnectCrypt(int CryptMode, HOSTDATA* HostData, char *Host, char
                        Fwall = FWALL_NONE;\r
 \r
                TryConnect = YES;\r
-               CancelFlg = NO;\r
+               // 暗号化通信対応\r
+//             CancelFlg = NO;\r
 #if 0\r
 //             WSASetBlockingHook(BlkHookFnc);\r
 #endif\r
@@ -1567,25 +1568,26 @@ static SOCKET DoConnect(HOSTDATA* HostData, char *Host, char *User, char *Pass,
 {\r
        SOCKET ContSock;\r
        ContSock = INVALID_SOCKET;\r
-       if(ContSock == INVALID_SOCKET && HostData->UseSFTP == YES)\r
+       CancelFlg = NO;\r
+       if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseSFTP == YES)\r
        {\r
                SetTaskMsg(MSGJPN317);\r
                if((ContSock = DoConnectCrypt(CRYPT_SFTP, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET)\r
                        HostData->CryptMode = CRYPT_SFTP;\r
        }\r
-//     if(ContSock == INVALID_SOCKET && HostData->UseFTPIS == YES)\r
+//     if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseFTPIS == YES)\r
 //     {\r
 //             SetTaskMsg(MSGJPN316);\r
 //             if((ContSock = DoConnectCrypt(CRYPT_FTPIS, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET)\r
 //                     HostData->CryptMode = CRYPT_FTPIS;\r
 //     }\r
-       if(ContSock == INVALID_SOCKET && HostData->UseFTPES == YES)\r
+       if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseFTPES == YES)\r
        {\r
                SetTaskMsg(MSGJPN315);\r
                if((ContSock = DoConnectCrypt(CRYPT_FTPES, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET)\r
                        HostData->CryptMode = CRYPT_FTPES;\r
        }\r
-       if(ContSock == INVALID_SOCKET && HostData->UseNoEncryption == YES)\r
+       if(CancelFlg == NO && ContSock == INVALID_SOCKET && HostData->UseNoEncryption == YES)\r
        {\r
                SetTaskMsg(MSGJPN314);\r
                if((ContSock = DoConnectCrypt(CRYPT_NONE, HostData, Host, User, Pass, Acct, Port, Fwall, SavePass, Security)) != INVALID_SOCKET)\r
@@ -2352,6 +2354,11 @@ int AskUseSFTP(void)
        return(CurHost.UseSFTP);\r
 }\r
 \r
+char *AskPrivateKey(void)\r
+{\r
+       return(CurHost.PrivateKey);\r
+}\r
+\r
 // 同時接続対応\r
 int AskMaxThreadCount(void)\r
 {\r
index 1ccde87..3f535df 100644 (file)
--- a/history.c
+++ b/history.c
@@ -224,9 +224,11 @@ static void CopyHostToHistory(HOSTDATA *Host, HISTORYDATA *New)
        New->DialupNotify = Host->DialupNotify;\r
        strcpy(New->DialEntry, Host->DialEntry);\r
        // 暗号化通信対応\r
+       New->UseNoEncryption = Host->UseNoEncryption;\r
        New->UseFTPES = Host->UseFTPES;\r
        New->UseFTPIS = Host->UseFTPIS;\r
        New->UseSFTP = Host->UseSFTP;\r
+       strcpy(New->PrivateKey, Host->PrivateKey);\r
        // 同時接続対応\r
        New->MaxThreadCount = Host->MaxThreadCount;\r
        // MLSD対応\r
@@ -283,9 +285,11 @@ void CopyHistoryToHost(HISTORYDATA *Hist, HOSTDATA *Host)
        Host->DialupNotify = Hist->DialupNotify;\r
        strcpy(Host->DialEntry, Hist->DialEntry);\r
        // 暗号化通信対応\r
+       Host->UseNoEncryption = Hist->UseNoEncryption;\r
        Host->UseFTPES = Hist->UseFTPES;\r
        Host->UseFTPIS = Hist->UseFTPIS;\r
        Host->UseSFTP = Hist->UseSFTP;\r
+       strcpy(Host->PrivateKey, Hist->PrivateKey);\r
        // 同時接続対応\r
        Host->MaxThreadCount = Hist->MaxThreadCount;\r
        // MLSD対応\r
index 9114d4d..767e7d3 100644 (file)
--- a/hostman.c
+++ b/hostman.c
@@ -1030,6 +1030,7 @@ int CopyHostFromListInConnect(int Num, HOSTDATA *Set)
                Set->LastDir = Pos->Set.LastDir;\r
                Set->TimeZone = Pos->Set.TimeZone;\r
                // 暗号化通信対応\r
+               Set->UseNoEncryption = Pos->Set.UseNoEncryption;\r
                Set->UseFTPES = Pos->Set.UseFTPES;\r
                Set->UseFTPIS = Pos->Set.UseFTPIS;\r
                Set->UseSFTP = Pos->Set.UseSFTP;\r
@@ -1318,6 +1319,7 @@ void CopyDefaultHost(HOSTDATA *Set)
        Set->UseFTPES = YES;\r
        Set->UseFTPIS = YES;\r
        Set->UseSFTP = YES;\r
+       strcpy(Set->PrivateKey, "");\r
        // 同時接続対応\r
        Set->MaxThreadCount = 1;\r
        // MLSD対応\r
@@ -2146,11 +2148,11 @@ static BOOL CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, L
        switch (iMessage)\r
        {\r
                case WM_INITDIALOG :\r
+                       SendDlgItemMessage(hDlg, HSET_NO_ENCRYPTION, BM_SETCHECK, TmpHost.UseNoEncryption, 0);\r
                        if(IsOpenSSLLoaded())\r
                        {\r
                                SendDlgItemMessage(hDlg, HSET_FTPES, BM_SETCHECK, TmpHost.UseFTPES, 0);\r
                                SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, TmpHost.UseFTPIS, 0);\r
-                               SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, TmpHost.UseSFTP, 0);\r
                        }\r
                        else\r
                        {\r
@@ -2158,9 +2160,9 @@ static BOOL CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, L
                                EnableWindow(GetDlgItem(hDlg, HSET_FTPES), FALSE);\r
                                SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, BST_UNCHECKED, 0);\r
                                EnableWindow(GetDlgItem(hDlg, HSET_FTPIS), FALSE);\r
-                               SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, BST_UNCHECKED, 0);\r
-                               EnableWindow(GetDlgItem(hDlg, HSET_SFTP), FALSE);\r
                        }\r
+                       SendDlgItemMessage(hDlg, HSET_SFTP, BM_SETCHECK, TmpHost.UseSFTP, 0);\r
+                       SendDlgItemMessage(hDlg, HSET_PRIVATE_KEY, WM_SETTEXT, 0, (LPARAM)TmpHost.PrivateKey);\r
                        // TODO: FTPIS対応\r
                        SendDlgItemMessage(hDlg, HSET_FTPIS, BM_SETCHECK, BST_UNCHECKED, 0);\r
                        EnableWindow(GetDlgItem(hDlg, HSET_FTPIS), FALSE);\r
@@ -2174,14 +2176,16 @@ static BOOL CALLBACK CryptSettingProc(HWND hDlg, UINT iMessage, WPARAM wParam, L
                        switch(pnmhdr->code)\r
                        {\r
                                case PSN_APPLY :\r
+                                       TmpHost.UseNoEncryption = SendDlgItemMessage(hDlg, HSET_NO_ENCRYPTION, BM_GETCHECK, 0, 0);\r
                                        if(IsOpenSSLLoaded())\r
                                        {\r
                                                TmpHost.UseFTPES = SendDlgItemMessage(hDlg, HSET_FTPES, BM_GETCHECK, 0, 0);\r
                                                // TODO: FTPIS対応\r
 //                                             TmpHost.UseFTPIS = SendDlgItemMessage(hDlg, HSET_FTPIS, BM_GETCHECK, 0, 0);\r
-                                               // TODO: SFTP対応\r
-//                                             TmpHost.UseSFTP = SendDlgItemMessage(hDlg, HSET_SFTP, BM_GETCHECK, 0, 0);\r
                                        }\r
+                                       // TODO: SFTP対応\r
+//                                     TmpHost.UseSFTP = SendDlgItemMessage(hDlg, HSET_SFTP, BM_GETCHECK, 0, 0);\r
+                                       SendDlgItemMessage(hDlg, HSET_PRIVATE_KEY, WM_GETTEXT, PRIVATE_KEY_LEN+1, (LPARAM)TmpHost.PrivateKey);\r
                                        Apply = YES;\r
                                        break;\r
 \r
diff --git a/main.c b/main.c
index 37a0743..72b34c3 100644 (file)
--- a/main.c
+++ b/main.c
@@ -2857,6 +2857,8 @@ BOOL __stdcall SSLConfirmCallback(BOOL bVerified, LPCSTR Certificate, LPCSTR Com
                        FreeDuplicatedString(pm0);\r
                }\r
        }\r
+       if(!bResult)\r
+               CancelFlg = YES;\r
        return bResult;\r
 }\r
 \r
index 94d7a8a..2326c05 100644 (file)
@@ -287,7 +287,9 @@ void SaveRegistory(void)
        void *hKey3;\r
        void *hKey4;\r
        void *hKey5;\r
-       char Str[FMAX_PATH+1];\r
+       // 暗号化通信対応\r
+//     char Str[FMAX_PATH+1];\r
+       char Str[PRIVATE_KEY_LEN*4+1];\r
        int i;\r
        int n;\r
        HOSTDATA DefaultHost;\r
@@ -466,9 +468,12 @@ void SaveRegistory(void)
                                                        SaveIntNum(hKey5, "Notify", Hist.DialupNotify, DefaultHist.DialupNotify);\r
                                                        SaveStr(hKey5, "DialTo", Hist.DialEntry, DefaultHist.DialEntry);\r
                                                        // 暗号化通信対応\r
+                                                       SaveIntNum(hKey5, "NoEncryption", Hist.UseNoEncryption, DefaultHist.UseNoEncryption);\r
                                                        SaveIntNum(hKey5, "FTPES", Hist.UseFTPES, DefaultHist.UseFTPES);\r
                                                        SaveIntNum(hKey5, "FTPIS", Hist.UseFTPIS, DefaultHist.UseFTPIS);\r
                                                        SaveIntNum(hKey5, "SFTP", Hist.UseSFTP, DefaultHist.UseSFTP);\r
+                                                       EncodePassword(Hist.PrivateKey, Str);\r
+                                                       SaveStr(hKey5, "PKey", Str, DefaultHist.PrivateKey);\r
                                                        // 同時接続対応\r
                                                        SaveIntNum(hKey5, "ThreadCount", Hist.MaxThreadCount, DefaultHist.MaxThreadCount);\r
                                                        // MLSD対応\r
@@ -544,9 +549,12 @@ void SaveRegistory(void)
                                                        SaveIntNum(hKey5, "Notify", Host.DialupNotify, DefaultHost.DialupNotify);\r
                                                        SaveStr(hKey5, "DialTo", Host.DialEntry, DefaultHost.DialEntry);\r
                                                        // 暗号化通信対応\r
+                                                       SaveIntNum(hKey5, "NoEncryption", Host.UseNoEncryption, DefaultHost.UseNoEncryption);\r
                                                        SaveIntNum(hKey5, "FTPES", Host.UseFTPES, DefaultHost.UseFTPES);\r
                                                        SaveIntNum(hKey5, "FTPIS", Host.UseFTPIS, DefaultHost.UseFTPIS);\r
                                                        SaveIntNum(hKey5, "SFTP", Host.UseSFTP, DefaultHost.UseSFTP);\r
+                                                       EncodePassword(Host.PrivateKey, Str);\r
+                                                       SaveStr(hKey5, "PKey", Str, DefaultHost.PrivateKey);\r
                                                        // 同時接続対応\r
                                                        SaveIntNum(hKey5, "ThreadCount", Host.MaxThreadCount, DefaultHost.MaxThreadCount);\r
                                                        // MLSD対応\r
@@ -601,7 +609,9 @@ int LoadRegistory(void)
        void *hKey5;\r
        int i;\r
        int Sets;\r
-       char Str[256];  /* ASCII_EXT_LENより大きい事 */\r
+       // 暗号化通信対応\r
+//     char Str[256];  /* ASCII_EXT_LENより大きい事 */\r
+       char Str[PRIVATE_KEY_LEN*4+1];\r
        char *Pos;\r
        char *Pos2;\r
        HOSTDATA Host;\r
@@ -807,9 +817,13 @@ int LoadRegistory(void)
                                        ReadIntValueFromReg(hKey5, "Notify", &Hist.DialupNotify);\r
                                        ReadStringFromReg(hKey5, "DialTo", Hist.DialEntry, RAS_NAME_LEN+1);\r
                                        // 暗号化通信対応\r
+                                       ReadIntValueFromReg(hKey5, "NoEncryption", &Hist.UseNoEncryption);\r
                                        ReadIntValueFromReg(hKey5, "FTPES", &Hist.UseFTPES);\r
                                        ReadIntValueFromReg(hKey5, "FTPIS", &Hist.UseFTPIS);\r
                                        ReadIntValueFromReg(hKey5, "SFTP", &Hist.UseSFTP);\r
+                                       strcpy(Str, "");\r
+                                       ReadStringFromReg(hKey5, "PKey", Str, PRIVATE_KEY_LEN*4+1);\r
+                                       DecodePassword(Str, Hist.PrivateKey);\r
                                        // 同時接続対応\r
                                        ReadIntValueFromReg(hKey5, "ThreadCount", &Hist.MaxThreadCount);\r
                                        // MLSD対応\r
@@ -887,9 +901,13 @@ int LoadRegistory(void)
                                        ReadIntValueFromReg(hKey5, "Notify", &Host.DialupNotify);\r
                                        ReadStringFromReg(hKey5, "DialTo", Host.DialEntry, RAS_NAME_LEN+1);\r
                                        // 暗号化通信対応\r
+                                       ReadIntValueFromReg(hKey5, "NoEncryption", &Host.UseNoEncryption);\r
                                        ReadIntValueFromReg(hKey5, "FTPES", &Host.UseFTPES);\r
                                        ReadIntValueFromReg(hKey5, "FTPIS", &Host.UseFTPIS);\r
                                        ReadIntValueFromReg(hKey5, "SFTP", &Host.UseSFTP);\r
+                                       strcpy(Str, "");\r
+                                       ReadStringFromReg(hKey5, "PKey", Str, PRIVATE_KEY_LEN*4+1);\r
+                                       DecodePassword(Str, Host.PrivateKey);\r
                                        // 同時接続対応\r
                                        ReadIntValueFromReg(hKey5, "ThreadCount", &Host.MaxThreadCount);\r
                                        // MLSD対応\r