【问题标题】:The specified cryptographic algorithm is not supported on this platform in Glacier UploadGlacier Upload 在此平台上不支持指定的加密算法
【发布时间】:2014-10-10 12:36:32
【问题描述】:

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

在线发生错误(对于 .net 低级冰川 API)

client.UploadMultipartPart(uploadMPUrequest);

同时使用下面的高级 API 是代码

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

通过阅读一些链接,我们了解到 Windows XP 不支持加密。但是我们有很多客户在运行 XP 机器,是否有任何解决方案或任何热修复。

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

【问题讨论】:

    标签: c# windows-xp amazon-glacier


    【解决方案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。

    【讨论】:

    • 我猜 Galcier API 默认使用 SHA256 算法来计算校验和,我在示例代码中看不到它明确指定。所以我无法改变它。
    • 如果您猜对了(我也这么认为),那么注册表技巧应该是唯一的解决方案。您只需创建修改注册表并将其提供给您的客户的.reg 文件:o)
    • uploadMultipartPart 方法出现以下错误。这是亚马逊冰川 API 提供的构建方法
    • 在 System.Security.Cryptography.CapiHashAlgorithm.Initialize() 在 System.Security.Cryptography.CapiHashAlgorithm..ctor() 在 System.Security.Cryptography.SHA256CryptoServiceProvider..ctor() 在 Amazon。 Runtime.Internal.DefaultRequest.get_ContentStreamHash() 在 Amazon.Runtime.Internal.Auth.AWS4Signer.Sign() 在 Amazon.Runtime.AmazonWebServiceClient.SignRequest(IRequest request, Abstra ctAWSSigner signer, RequestMetrics metrics) 在 Amazon.Runtime.AmazonWebServiceClient.ConfigureRequest () 在 Amazon.Runtime.AmazonWebServiceClient.InvokeHelper(A
    【解决方案2】:

    我使用了 AWSDK 2.3 版本并解决了问题,但使用更高版本导致代码中的许多命名空间和使用的类名称发生变化。

    【讨论】:

      猜你喜欢
      • 2015-06-07
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 2017-07-16
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 2019-12-29
      相关资源
      最近更新 更多