C++ 自动导入数字证书

举报
清雨小竹 发表于 2022/09/25 00:47:56 2022/09/25
【摘要】   // ssss.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include "windows.h"#include "string.h" //MFC-only string objects#...

 

// ssss.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "string.h" //MFC-only string objects
#include <shlobj.h>
#include "atlstr.h" //Non-MFC string objects
#include "sal.h"
#include "Cryptuiapi.h"
#pragma  comment(lib,"Cryptui.lib")

 

int main(int argc, char* argv[])
{
 TCHAR MyDir[_MAX_PATH]; 
 SHGetSpecialFolderPath(NULL,MyDir,CSIDL_WINDOWS,0);
 CString path;
 path.Format(_T("%s\\system32\\xtox.net.cer"),MyDir);

 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 = path;
 importSrc.dwFlags = CRYPT_EXPORTABLE | CRYPT_USER_PROTECTED;
 
 if (CryptUIWizImport(
  CRYPTUI_WIZ_NO_UI,
  NULL,
  NULL,
  &importSrc,
  NULL
  ) == 0)
 {
  CString strErr;
  strErr.Format(_T("证书导入失败 0x%x\n"), GetLastError());
  MessageBox(NULL,strErr,NULL,0);
 }
 

 return 0;
}


文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/8265407

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。