在Win 2003 32位上,我成功导出PRIVATEKEYBLOB
,调用了CryptExportKey
(dwFlags = 0)。然后,我尝试使用64位可执行文件在Win Server 2008 64位上导入密钥块,致电CryptImportKey
的调用失败,并返回NTE_BAD_DATA
。CryptoAPI - 在不同版本的Windows之间导出/导入密钥
在这两种情况下,加密提供初始化为调用
CryptAcquireContext(& hProv, szContainer,NULL,PROV_RSA_AES, CRYPT_MACHINE_KEYSET)
导出密码/导入比赛。公钥基于密码的md5哈希的CryptDeriveKey
,它们在纯文本表示中相同。我不确定公钥在两个系统中是否相等。
系统的不同类型(Win 2003 32位vs Win 2008 64位)是预期的失败原因,有没有办法让这个工作起作用?