private static AmazonS3Client GetUsEast1ClientFromCredentials(ImmutableCredentials credentials) { if (credentials.get_UseToken()) { return(new AmazonS3Client(credentials.get_AccessKey(), credentials.get_SecretKey(), credentials.get_Token(), RegionEndpoint.USEast1)); } return(new AmazonS3Client(credentials.get_AccessKey(), credentials.get_SecretKey(), RegionEndpoint.USEast1)); }
public static S3PostUploadSignedPolicy GetSignedPolicy(string policy, AWSCredentials credentials) { ImmutableCredentials credentials2 = credentials.GetCredentials(); string text = Convert.ToBase64String(credentials2.get_UseToken() ? addTokenToPolicy(policy, credentials2.get_Token()) : Encoding.UTF8.GetBytes(policy.Trim())); string signature = CryptoUtilFactory.get_CryptoInstance().HMACSign(Encoding.UTF8.GetBytes(text), credentials2.get_SecretKey(), 0); return(new S3PostUploadSignedPolicy { Policy = text, Signature = signature, AccessKeyId = credentials2.get_AccessKey(), SecurityToken = credentials2.get_Token(), SignatureVersion = "2" }); }
public static S3PostUploadSignedPolicy GetSignedPolicyV4(string policy, AWSCredentials credentials, RegionEndpoint region) { DateTime correctedUtcNow = AWSSDKUtils.get_CorrectedUtcNow(); ImmutableCredentials credentials2 = credentials.GetCredentials(); string text = "AWS4-HMAC-SHA256"; string text2 = AWS4Signer.FormatDateTime(correctedUtcNow, "yyyyMMdd"); string text3 = AWS4Signer.FormatDateTime(correctedUtcNow, "yyyyMMddTHHmmssZ"); string text4 = string.Format(CultureInfo.InvariantCulture, "{0}/{1}/{2}/{3}/{4}/", credentials2.get_AccessKey(), text2, region.get_SystemName(), "s3", "aws4_request"); Dictionary <string, string> dictionary = new Dictionary <string, string> { { S3Constants.PostFormDataXAmzCredential, text4 }, { S3Constants.PostFormDataXAmzAlgorithm, text }, { S3Constants.PostFormDataXAmzDate, text3 } }; if (credentials2.get_UseToken()) { dictionary[S3Constants.PostFormDataSecurityToken] = credentials2.get_Token(); } string text5 = Convert.ToBase64String(addConditionsToPolicy(policy, dictionary)); byte[] array = AWS4Signer.ComposeSigningKey(credentials2.get_SecretKey(), region.get_SystemName(), text2, "s3"); string signature = AWSSDKUtils.ToHex(AWS4Signer.ComputeKeyedHash(1, array, text5), true); return(new S3PostUploadSignedPolicy { Policy = text5, Signature = signature, AccessKeyId = credentials2.get_AccessKey(), SecurityToken = credentials2.get_Token(), SignatureVersion = "4", Algorithm = text, Date = text3, Credential = text4 }); }