2014-10-10 80 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

相關問題