プログラムで証明書を Windows ストアにインポートする必要があります。CryptUIWizImport 機能は正常に機能しますが、Windows は証明書を保護するためにユーザーに追加のパスワードを作成するように求めます。ただし、ユーザーはこのパスワードを設定しないことを選択できます。
Windows UI を回避して、この追加のパスワードをプログラムで設定することは可能ですか?
プログラムで証明書を Windows ストアにインポートする必要があります。CryptUIWizImport 機能は正常に機能しますが、Windows は証明書を保護するためにユーザーに追加のパスワードを作成するように求めます。ただし、ユーザーはこのパスワードを設定しないことを選択できます。
Windows UI を回避して、この追加のパスワードをプログラムで設定することは可能ですか?
次のコードのように、パスワード フィールドを空にする必要があります。
#include "stdafx.h"
#include "windows.h"
#include "Cryptuiapi.h"
#pragma comment(lib, "Cryptui.lib")
int _tmain(int argc, _TCHAR* argv[]){
CRYPTUI_WIZ_IMPORT_SRC_INFO importSrc;
memset(&importSrc, 0, sizeof(CRYPTUI_WIZ_IMPORT_SRC_INFO));
importSrc.dwSize = sizeof(CRYPTUI_WIZ_IMPORT_SRC_INFO);
importSrc.dwSubjectChoice = CRYPTUI_WIZ_IMPORT_SUBJECT_FILE;
importSrc.pwszFileName = L"C:\\PathToPFX\\cert.pfx";
importSrc.pwszPassword = L"";
importSrc.dwFlags = CRYPT_EXPORTABLE | CRYPT_USER_PROTECTED;
if (CryptUIWizImport(
CRYPTUI_WIZ_NO_UI,
NULL,
NULL,
&importSrc,
NULL
) == 0)
{
printf(“CryptUIWizImport error 0x%x\n”, GetLastError());
}
return 0;
}