On Wed, 26 May 1999, Wu Zhigang wrote:
> Hi,
>
> Besides his question, I want to know anyone has an
> experience to build a Win32 dialog based password
> call back function?
> If Yes, can you share your code out?
Looking for something like this?
char passph[128];
BOOL CALLBACK
pass_proc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg) {
case WM_INITDIALOG:
SetForegroundWindow (hwnd);
return TRUE;
case WM_COMMAND:
switch (LOWORD (wParam)) {
case IDOK:
GetDlgItemText (hwnd, IDC_PASSPH, passph, sizeof (passph));
case IDCANCEL:
EndDialog (hwnd, LOWORD (wParam));
break;
default:
break;
}
break;
default:
break;
}
return FALSE;
}
int
get_passph (char *buf, int buf_len, int unused)
{
if (DialogBox (myInst, MAKEINTRESOURCE (IDD_PASSPH),
hwndMain, pass_proc) == IDOK) {
strncpy (buf, passph, buf_len);
return strlen (passph);
}
return 0;
}
int WINAPI
WinMain(HINSTANCE, HINSTANCE, LPCSTR, int)
{
...
SSL_CTX_set_default_passwd_cb (ssl, get_passph);
...
}
IDD_PASSPH DIALOG 50, 5, 130, 80
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE |
WS_CA
PTION | WS_SYSMENU
CAPTION "YourApp - Passphrase"
FONT 8, "MS Sans Serif"
{
CONTROL "Please enter the passphrase to unlock your private key", -1,
"static",
SS_LEFT | WS_CHILD | WS_VISIBLE, 10, 10, 110, 24
CONTROL "", IDC_PASSPH, "edit", ES_LEFT | ES_AUTOHSCROLL | ES_PASSWORD |
WS_CHI
LD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 10, 40, 110, 12
CONTROL "OK", IDOK, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD |
WS_VISIBLE
| WS_TABSTOP, 10, 60, 50, 14
CONTROL "Cancel", IDCANCEL, "BUTTON", BS_PUSHBUTTON | BS_CENTER |
WS_CHILD | WS
_VISIBLE | WS_TABSTOP, 70, 60, 50, 14
}
Enjoy, Franco
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]