Glacier Upload在此平台上不支持指定的加密算法



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

线路(适用于净低层冰川API)处出现错误

client.UploadMultipartPart(uploadMPUrequest);

而且在使用高级API时,下面的代码是

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

通过阅读一些链接,我们了解到WindowsXP不支持密码学。但我们有很多客户端运行XP机器,有没有解决方案或任何热修复。

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

假设您的加密算法是SHA256。

如果您可以访问代码,您可以尝试使用SHA256Managed而不是SHA256CryptoServiceProvider。

该算法将由框架运行,而不是尝试由平台运行。

如果你需要性能,你可以尝试平台算法然后框架实现一个(Thomas Dufour解决方案):

    SHA256 hash;
    try
    {
        hash = new SHA256Cng( );
    }
    catch ( PlatformNotSupportedException )
    {
        hash = SHA256.Create( );
    }

这里描述的另一个解决方案是重命名注册表中的加密服务。

HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyDefaultsProvider中,找到名为"Microsoft Enhanced RSA and AES Cryptographic Provider(Prototype)"的子密钥,并将其重命名为"Microsoft增强型RSA和AES加密提供程序"。

该系统必须是XP SP3。

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

最新更新