Проблема при загрузке зашифрованного файла с amazon S3
я пытаюсь загрузить зашифрованный файл с amazon, но получаю ошибку
Система.Безопасность.Криптография.CryptographicException был пойман
Значение HRESULT=-2146233296
Сообщение=расшифровка значения требует, чтобы ключ был установлен на объекте алгоритма.
Что я уже пробовал:
cloudEncryptS3 = new cAmazonS3(); cloudEncryptS3.cAmazonEncryptS3(cloudAccountObj.AccountId, cloudAccountObj.SecretKey, cloudAccountObj.IsSSL == Constants.CONSTANT_ONE ? true : false, item.EncryptAlgoName, item.EncryptAlgoValue); request = new GetObjectRequest { BucketName = bucketName, Key = keyName }; try { response = encryptClient.GetObject(request); } catch (Exception ex) { cGlobalSettings.oLogger.WriteLogException("| S3Progress.cs::DownLoadS3File() |", ex); public void cAmazonEncryptS3(string accessKey, string secretKey, bool IsSSL, string algoName, int algoValue) { encryptClient = null; AmazonS3CryptoConfiguration config = null; EncryptionMaterials encryp = null; Aes aesObj = null; DES desObj = null; TripleDES desTripleObj = null; RC2 rcObj = null; try { config = new AmazonS3CryptoConfiguration { ServiceURL = "https://s3.amazonaws.com", UseHttp = IsSSL, StorageMode = CryptoStorageMode.ObjectMetadata }; if (algoName.ToLower().Contains("aes")) { aesObj = Aes.Create(); aesObj.BlockSize = algoValue; encryp = new EncryptionMaterials(aesObj); } else if (algoName.ToLower().Contains("des")) { if (algoValue == 64) { desObj = DES.Create(); desObj.BlockSize = algoValue; encryp = new EncryptionMaterials(desObj); } else { desTripleObj = TripleDES.Create(); desTripleObj.BlockSize = algoValue; encryp = new EncryptionMaterials(desTripleObj); } } else if (algoName.ToLower().Contains("rc")) { rcObj = RC2.Create(); rcObj.BlockSize = algoValue; encryp = new EncryptionMaterials(rcObj); } else { aesObj = Aes.Create(); aesObj.BlockSize = 128; encryp = new EncryptionMaterials(aesObj); } encryptClient = new AmazonS3EncryptionClient(accessKey, secretKey, config, encryp); } catch (Exception ex) { cGlobalSettings.oLogger.WriteLogException("cAmazonS3.cs::cAmazonEncryptS3()", ex); } finally { config = null; encryp = null; aesObj = null; desObj = null; desTripleObj = null; rcObj = null; } } }