Amazon.S3.Util.S3PostUploadSignedPolicy.GetSignedPolicy C# (CSharp) Method

GetSignedPolicy() public static method

Given a policy and AWS credentials, produce a S3PostUploadSignedPolicy.
public static GetSignedPolicy ( string policy, AWSCredentials credentials ) : S3PostUploadSignedPolicy
policy string JSON string representing the policy to sign
credentials Amazon.Runtime.AWSCredentials Credentials to sign the policy with
return S3PostUploadSignedPolicy
        public static S3PostUploadSignedPolicy GetSignedPolicy(string policy, AWSCredentials credentials)
        {
            ImmutableCredentials iCreds = credentials.GetCredentials();
            var policyBytes = iCreds.UseToken
                ? addTokenToPolicy(policy, iCreds.Token)
                : Encoding.UTF8.GetBytes(policy.Trim());
            var base64Policy = Convert.ToBase64String(policyBytes);
            string signature = CryptoUtilFactory.CryptoInstance.HMACSign(Encoding.UTF8.GetBytes(base64Policy), iCreds.SecretKey, SigningAlgorithm.HmacSHA1);
            return new S3PostUploadSignedPolicy
            {
                Policy = base64Policy,
                Signature = signature,
                AccessKeyId = iCreds.AccessKey,
                SecurityToken = iCreds.Token,
                SignatureVersion = "2"
            };
        }