我们在Windows XP机器上将数据上传到冰川时遇到了问题。以下是错误消息 “此平台不支持指定的加密算法。”
行发生错误(对于.net低级别冰川API)
client.UploadMultipartPart(uploadMPUrequest);
以及使用以下高级API时的代码是
string archiveId = manager.Upload(vaultName,"name",archiveToUpload).ArchiveId;
在阅读几个链接时,我们发现Windows XP不支持加密。但我们有很多客户端运行XP机器,有没有任何解决方案或任何热修复。
我在搜索错误时遇到了一个热门修复程序,但它适用于Windows服务器计算机而且没有运气的Windows XP。
答案 0 :(得分:1)
假设你的加密算法是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 Enhanced RSA and AES Cryptographic Provider(Prototype)”的子项并将其重命名为
“Microsoft增强型RSA和AES加密提供程序”。
系统必须是XP SP3。
答案 1 :(得分:1)
我使用了AWSDK 2.3版并解决了这个问题,但是使用更高版本导致了许多命名空间,并在代码中使用了类名更改。