OSDN Git Service

Add dialog to confirm certificate for SSL (experimental).
[ffftp/ffftp.git] / main.c
diff --git a/main.c b/main.c
index dc72034..19a6332 100644 (file)
--- a/main.c
+++ b/main.c
@@ -458,6 +458,7 @@ static int InitApp(LPSTR lpszCmdLine, int cmdShow)
 \r
                        // 暗号化通信対応\r
                        SetSSLTimeoutCallback(TimeOut * 1000, SSLTimeoutCallback);\r
+                       SetSSLConfirmCallback(SSLConfirmCallback);\r
 \r
                        LoadJre();\r
                        if(NoRasControl == NO)\r
@@ -2824,3 +2825,19 @@ BOOL __stdcall SSLTimeoutCallback()
        return FALSE;\r
 }\r
 \r
+BOOL __stdcall SSLConfirmCallback(BOOL bVerified, LPCSTR Certificate, LPCSTR CommonName)\r
+{\r
+       BOOL bResult;\r
+       char* pm0;\r
+       bResult = FALSE;\r
+       pm0 = NULL;\r
+       if(pm0 = AllocateStringM(strlen(Certificate) + 1024))\r
+       {\r
+               sprintf(pm0, MSGJPN326, IsHostNameMatched(AskHostAdrs(), CommonName) ? MSGJPN327 : MSGJPN328, bVerified ? MSGJPN327 : MSGJPN328, Certificate);\r
+               if(MessageBox(GetMainHwnd(), pm0, "FFFTP", MB_YESNO) == IDYES)\r
+                       bResult = TRUE;\r
+       }\r
+       FreeDuplicatedString(pm0);\r
+       return bResult;\r
+}\r
+\r