Example #1
0
        /// <summary>
        /// sign请求
        /// </summary>
        /// <param name="request"></param>
        /// <param name="type"></param>
        /// <param name="uCloudConfig"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        internal static string SignRequst(HttpWebRequest request, Utils.RequestHeadType type, UCloudStorageConfig uCloudConfig,
                                          string key)
        {
            string authorization = string.Empty;
            string stringToSign  = string.Empty;

            switch (type)
            {
            case Utils.RequestHeadType.HEAD_FIELD_CHECK:
                authorization += "UCloud ";
                authorization += uCloudConfig.UCloudPublicKey;
                authorization += ":";
                stringToSign   = request.Method + "\n" + request.Headers.Get("Content-MD5") + "\n";
                stringToSign  += request.ContentType;
                stringToSign  += "\n";
                stringToSign  += "\n";
                stringToSign  += CanonicalizedUCloudHeaders(request.Headers);
                stringToSign  += CanonicalizedResource(uCloudConfig.Bucket, key);
                break;

            default:
                break;
            }

            HMACSHA1 hmac = new HMACSHA1(Encoding.ASCII.GetBytes(uCloudConfig.UCloudPrivateKey));

            Byte[] hashValue = hmac.ComputeHash(Encoding.UTF8.GetBytes(stringToSign));
            string signature = Convert.ToBase64String(hashValue);

            return(authorization + signature);
        }
Example #2
0
        public static string SignRequst(HttpWebRequest request, Utils.RequestHeadType type, string bucket, string key)
        {
            string Authorization = string.Empty;
            string StringToSign  = string.Empty;

            switch (type)
            {
            case Utils.RequestHeadType.HEAD_FIELD_CHECK:
                Authorization += "UCloud ";
                Authorization += Config.UCLOUD_PUBLIC_KEY;
                Authorization += ":";
                StringToSign   = request.Method + "\n" + request.Headers.Get("Content-MD5") + "\n";
                StringToSign  += request.ContentType;
                StringToSign  += "\n";

                /*
                 * StringToSign += DateTime.Now.ToString ();
                 */
                StringToSign += "\n";
                StringToSign += CanonicalizedUCloudHeaders(request.Headers);
                StringToSign += CanonicalizedResource(bucket, key);
                break;

            default:
                break;
            }
            HMACSHA1 hmac = new HMACSHA1(Encoding.ASCII.GetBytes(Config.UCLOUD_PRIVATE_KEY));

            Byte[] hashValue = hmac.ComputeHash(Encoding.UTF8.GetBytes(StringToSign));
            string Signature = Convert.ToBase64String(hashValue);

            return(Authorization + Signature);
        }