通过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,但是找不到它的定义,而且不知道在哪里输入证书的密码。
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Colin-Han 2004-03-19
  • 打赏
  • 举报
回复
是的,CAPICOM组件是很好用,但是我们的项目要求不能使用需要安装的COM组件,但是,CAPICOM组件系统默认的没有带,所以还是需要使用CryptoApi来完成。
或者哪位高人使用过OpenSSL的,也可以给指点一下,谢谢
robinzo 2003-12-17
  • 打赏
  • 举报
回复
gz
tob 2003-12-17
  • 打赏
  • 举报
回复
CertOpenStore是打开证书的存储区,你去查msdn就很清楚了,上面有cryptoapi的说明,但用capicom控件更加方便、更快。
还有,不是要证书的密码,而是要证书的公钥。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧