在 Win 2003 32 位上,我通过调用 (dwFlags=0)成功导出了PRIVATEKEYBLOB
一个。CryptExportKey
然后我尝试在具有 64 位可执行文件的 Win Server 2008 64 位上导入密钥 blob,调用CryptImportKey
失败并显示NTE_BAD_DATA
.
在这两种情况下,加密提供者都是通过调用来初始化的
CryptAcquireContext(&hProv, szContainer, NULL, PROV_RSA_AES, CRYPT_MACHINE_KEYSET)
导出/导入的密码匹配。公钥基于CryptDeriveKey
密码的 md5 哈希值,这些密码在纯文本表示中是相同的。我不确定两个系统中的公钥是否最终相等。
不同类型的系统(Win 2003 32 位与 Win 2008 64 位)是否是预期的失败原因,有没有办法让它工作?