8

我正在尝试将使用 OpenSSL(PKCS#5 和 PKCS#7)的 UNIX 代码移植到 Windows。

在 OpenSSL 的情况下,所有的编码/解码(证书或密码)都对函数 CMS_Encrypt中的调用者透明地完成,这是应该的。

在函数CryptEncryptMessage中基于证书的加密的情况下,CAPI 执行相同的操作 (不会向调用者透露 ASN 详细信息)。经过一番谷歌搜索,我发现了以下密钥生成实现。现在我应该如何在 CAPI 中使用它?

因为 CAPI 不支持高级别的 PBE 加密(PBKDF2),所以我的猜测是必须手动完成编码(不知何故?)。手动是指编写(和读取)各种 ASN 标签的二进制表示。我该怎么做?

我无法访问msasn1.h API,因为 msasn1.lib 从未分发过。除了基于证书的加密之外,有没有人能够使用 CAPI 接口做其他事情?

4

0 回答 0