3

プログラムで証明書を Windows ストアにインポートする必要があります。CryptUIWizImport 機能は正常に機能しますが、Windows は証明書を保護するためにユーザーに追加のパスワードを作成するように求めます。ただし、ユーザーはこのパスワードを設定しないことを選択できます。

Windows UI を回避して、この追加のパスワードをプログラムで設定することは可能ですか?

4

1 に答える 1

0

次のコードのように、パスワード フィールドを空にする必要があります。

#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;
}
于 2016-04-17T04:59:38.793 に答える