Я столкнулся с примером .NET о том, как получить подпись, необходимую для подписания aws-запросов api-вызовов.AWS-подпись для подписанного URL-адреса
Я работаю на приложение Windows Phone 8 и застрял с линией
KeyedHashAlgorithm kha = KeyedHashAlgorithm.Create(algorithm);
Оказывается, что Windows Phone 8 не имеет метод Create, ошибка ниже:
«System.Security.Cryptography.KeyedHashAlgorithm» не содержит определения для создания
есть ли альтернатива уа y вокруг этого?
Вот полный фрагмент кода
public static byte[] HmacSHA256(String data, byte[] key)
{
String algorithm = "HmacSHA256";
KeyedHashAlgorithm kha = KeyedHashAlgorithm.Create(algorithm);
kha.Key = key;
return kha.ComputeHash(Encoding.UTF8.GetBytes(data));
}
static byte[] getSignatureKey(String key, String dateStamp, String regionName, String serviceName)
{
byte[] kSecret = Encoding.UTF8.GetBytes(("AWS4" + key).ToCharArray());
byte[] kDate = HmacSHA256(dateStamp, kSecret);
byte[] kRegion = HmacSHA256(regionName, kDate);
byte[] kService = HmacSHA256(serviceName, kRegion);
byte[] kSigning = HmacSHA256("aws4_request", kService);
return kSigning;
}
Спасибо. Это очень полезно. – jade