枚举CSP容器

HCRYPTPROV  hTokenProv = 0;
HCRYPTKEY  hKeyCAPI = NULL;
BYTE  pbCertContainerName[10][40] = {0};  //容器名称
DWORD  dwCertContainerNameLen = 40;     //容器名称长度
DWORD  dwCertNumber = 0;  //容器数目
DWORD  dwCertLen=0;
DWORD  i=0;
int  iRet = 0;

if(!CryptAcquireContext(&hTokenProv, NULL, CSP_NAME, PROV_RSA_FULL,NULL)!=0)
{
int sdw = GetLastError();
CString sd;
sd.Format(“0x%08x”,sdw);
AfxMessageBox(sd);
return ;
}

if(CryptGetProvParam(
hTokenProv,
PP_ENUMCONTAINERS,
pbCertContainerName[dwCertNumber],
&dwCertContainerNameLen,
CRYPT_FIRST))
{

if(dwCertContainerNameLen != 0)
dwCertNumber ++;

//枚举其它的容器,最后一个参数为0
while(CryptGetProvParam(
hTokenProv,
PP_ENUMCONTAINERS,
pbCertContainerName[dwCertNumber],
&dwCertContainerNameLen,
0))
{

if(dwCertContainerNameLen != 0)
dwCertNumber ++;

}
}

CryptReleaseContext(hTokenProv,0);

原创文章,转载请注明: 转载自IT Code

本文链接地址: 枚举CSP容器

【上一篇】
【下一篇】

枚举CSP容器:目前有2 条留言

  1. 沙发
    老墨:

    学到不少东西,值得赞一个!

    2014-08-18 下午 2:50 [回复]
    • 转瞬成空:

      互相学习!

      2014-08-18 下午 7:51 [回复]

发表评论

快捷键:Ctrl+Enter