通过CryptApi使用数字证书对一个文件进行签名怎么实现? -=100分=-

Colin-Han 2003-12-17 10:34:34
我需要使用一个导出的数字证书(使用PKCS12格式)对一个文件进行签名,证书不能导入到系统中。如何使用CryptApi来打开这个文件呢?下面是我做的一段代码,但是不能够实现,请高人指教。

HANDLE hFile = CreateFile("test.pfx",
GENERIC_READ,
FILE_SHARE_READ,
0,
OPEN_EXISTING,
0,
0);

ASSERT (hFile != NULL);

HCERTSTORE hStore = CertOpenStore(CERT_STORE_PROV_FILE,
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
NULL,
0,
hFile);

if (hStore == NULL)
{
DWORD err = GetLastError();
}

我试图使用 PKCS_12_ASN_ENCODING,但是找不到它的定义,而且不知道在哪里输入证书的密码。
...全文
48 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Colin-Han 2004-03-19
是的,CAPICOM组件是很好用,但是我们的项目要求不能使用需要安装的COM组件,但是,CAPICOM组件系统默认的没有带,所以还是需要使用CryptoApi来完成。
或者哪位高人使用过OpenSSL的,也可以给指点一下,谢谢
回复
robinzo 2003-12-17
gz
回复
tob 2003-12-17
CertOpenStore是打开证书的存储区,你去查msdn就很清楚了,上面有cryptoapi的说明,但用capicom控件更加方便、更快。
还有,不是要证书的密码,而是要证书的公钥。
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2003-12-17 10:34
社区公告
暂无公告