2014-10-10 82 views
2

我们在Windows XP机器上将数据上传到冰川时遇到问题。以下是错误消息 “此平台不支持指定的加密算法。”该平台在Glacier上不支持指定的加密算法

错误发生在行(用于.NET低水平冰川API)

client.UploadMultipartPart(uploadMPUrequest); 

,也同时使用下面的高层API是我们来到知道代码

string archiveId = manager.Upload(vaultName,"name",archiveToUpload).ArchiveId; 

在阅读几个环节Windows XP不支持加密。但是我们有许多客户端运行XP机器,有没有解决方案或任何热修复它。

我在搜索错误时遇到了一个热修复程序,但它适用于Windows服务器机器,Windows XP没有运气。

回答

1

我使用AWSDK版本2.3,并解决了这个问题,但使用更高版本已导致许多名称空间和使用的类名更改的代码。

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 Enhanced RSA and AES Cryptographic Provider”。

该系统必须是XP SP3。

+0

我猜Galcier API默认使用SHA256算法来计算校验和,我看不到它在示例代码中明确指定。所以这就是我无法改变它的原因。 – 2014-10-10 13:11:46

+0

如果你猜对了(我认为是这样),注册表技巧应该是唯一的解决方案。您只需创建修改注册表并将其提供给客户的'.​​reg'文件:o) – Orace 2014-10-10 13:22:57

+0

在方法uploadMultipartPart上发生以下错误。这是由亚马逊冰川API – 2014-10-11 08:43:34

相关问题