1. Compute StringToSign: StringToSign = HTTP-Verb + "\n" + Content-MD5 + "\n" + Content-Type + "\n" + Expires + "\n" + CanonicalizedHeaders + CanonicalizedResource
2. Compute Signature: Signature = UrlEncode(Base64(Hmac-sha1(SK, StringToSign))) 3. Compute Url Url = Endpoint + "?" + "AccessKeyId=" + AK + "&Expires=" + Expires + "&Signature=" + Signature