//创建Hash对象
if(!CryptCreateHash(hSignProv, CALG_SHA1, 0, 0, &hHash)) {
//错误处理
}
// 计算数据的Hash值
if(!CryptHashData(hHash, pbSourceData, dwSourceLen, 0)) {
//错误处理
}
//计算签名后数据的长度
if(!CryptSignHash(hHash,AT_SIGNATURE,NULL,0,NULL, &dwSignatureLen)){
//错误处理
}
//为签名后数据申请空间
. . .
//获取签名后数据
if(!CryptSignHash(hHash,AT_SIGNATURE,NULL,0,pbSignature,&dwSignatureLen)){ //错误处理
}
if (!CryptDestroyHash(hHash)) {
//错误处理
}
BOOL WINAPI CryptAcquireContext(
HCRYPTPROV* phProv,
LPCTSTR pszContainer,
LPCTSTR pszProvider,
DWORD dwProvType,
DWORD dwFlags)