c# - Glacier Upload 中的该平台不支持指定的加密算法

标签 c# windows-xp amazon-glacier

我们在 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/

相关文章:

c# - 为什么对同步请求使用 HttpClient 而不是 HttpWebRequest

c# - 多个工作流任务卡在 Sharepoint 2007 中

css - Windows 上的 Chrome 中的日期输入宽度

c# - 使用网络登录从 Windows 服务创建 GUI

oracle - 将 RDS 数据导出到 S3/Glacier

node.js - 指定 block 大小的 Node 读取文件

javascript - 相当于 C# 的 JS 中的 AES 加密

c# - MVC 比较属性在服务器端不起作用

php - PHPUnit 命令行工具中的控制字符有什么问题?

amazon-web-services - 亚马逊 AWS Athena S3 和 Glacier 混合桶