我们在 Windows XP 计算机上将数据上传到 Glacier 时遇到问题。下面是错误信息 “该平台不支持指定的加密算法。”
线路发生错误(对于.net低级冰川API)
client.UploadMultipartPart(uploadMPUrequest);
下面是使用高级 API 时的代码
string archiveId = manager.Upload(vaultName,"name",archiveToUpload).ArchiveId;
通过阅读一些链接,我们了解到 Windows XP 不支持加密。但是我们有很多客户运行XP机器,有什么解决方案或任何修补程序吗?
我在搜索错误时遇到了一个修补程序,但它适用于 Windows 服务器计算机,但不适用于 Windows XP。
最佳答案
假设您的加密算法是 SHA256。
如果您有权访问代码,则可以尝试使用 SHA256Managed 而不是 SHA256CryptoServiceProvider。
算法将由框架运行,而不是尝试由平台运行。
如果你需要性能,你可以尝试平台算法,然后框架实现一个(Thomas Dufour解决方案):
SHA256 hash;
try
{
hash = new SHA256Cng( );
}
catch ( PlatformNotSupportedException )
{
hash = SHA256.Create( );
}
另一个解决方案描述了 here就是重命名注册表中的加密服务。
在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider
中,找到名为“Microsoft 增强型 RSA 和 AES 加密提供程序(原型(prototype))”的子项,并将其重命名为
“Microsoft 增强型 RSA 和 AES 加密提供程序”。
系统必须是 XP SP3。
关于c# - Glacier Upload 中的该平台不支持指定的加密算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26299602/