CryptUIWizExport直接导出.cer到文件效果和手动导出一样

    CertGetNameString(pCertContext,CERT_NAME_SIMPLE_DISPLAY_TYPE,0,NULL,pszNameString,128);
    ProvName=pkeyProvInfo->pwszProvName;
    ContainerName=pkeyProvInfo->pwszContainerName;
    ProvType=pkeyProvInfo->dwProvType; 

    CRYPTUI_WIZ_EXPORT_INFO ExportInfo;
    CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO ContextInfo;
    ZeroMemory(&ExportInfo,sizeof(CRYPTUI_WIZ_EXPORT_INFO));
    ZeroMemory(&ContextInfo,sizeof(CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO));
    ExportInfo.dwSize               = sizeof(CRYPTUI_WIZ_EXPORT_INFO);

    //要导出保存后的文件路径
    ExportInfo.pwszExportFileName   = L"C:\\Temp.cer";
    ExportInfo.dwSubjectChoice      = CRYPTUI_WIZ_EXPORT_CERT_CONTEXT;

    //要导出的证书上下文
    ExportInfo.pCertContext   = pCertContext;

    ContextInfo.dwSize              = sizeof(CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO);

    //以base64的方式导出
    ContextInfo.dwExportFormat      = CRYPTUI_WIZ_EXPORT_FORMAT_BASE64;
    ContextInfo.fExportChain        = FALSE;
    ContextInfo.fExportPrivateKeys  = FALSE;
    CryptUIWizExport(CRYPTUI_WIZ_NO_UI,0, NULL,&ExportInfo,&ContextInfo);

原文地址:https://www.cnblogs.com/lzjsky/p/1927045.html