public static void sign()

in rocketmq-client-csharp/Signature.cs [26:74]


        public static void sign(IClientConfig clientConfig, grpc::Metadata metadata)
        {
            metadata.Add(MetadataConstants.LANGUAGE_KEY, "DOTNET");
            metadata.Add(MetadataConstants.CLIENT_VERSION_KEY, "5.0.0");
            metadata.Add(MetadataConstants.CLIENT_ID_KEY, clientConfig.clientId());
            if (!String.IsNullOrEmpty(clientConfig.tenantId()))
            {
                metadata.Add(MetadataConstants.TENANT_ID_KEY, clientConfig.tenantId());
            }

            if (!String.IsNullOrEmpty(clientConfig.resourceNamespace()))
            {
                metadata.Add(MetadataConstants.NAMESPACE_KEY, clientConfig.resourceNamespace());
            }

            string time = DateTime.Now.ToString(MetadataConstants.DATE_TIME_FORMAT);
            metadata.Add(MetadataConstants.DATE_TIME_KEY, time);

            if (null != clientConfig.credentialsProvider())
            {
                var credentials = clientConfig.credentialsProvider().getCredentials();
                if (null == credentials || credentials.expired())
                {
                    return;
                }

                if (!String.IsNullOrEmpty(credentials.SessionToken))
                {
                    metadata.Add(MetadataConstants.STS_SESSION_TOKEN, credentials.SessionToken);
                }

                byte[] secretData = Encoding.ASCII.GetBytes(credentials.AccessSecret);
                byte[] data = Encoding.ASCII.GetBytes(time);
                HMACSHA1 signer = new HMACSHA1(secretData);
                byte[] digest = signer.ComputeHash(data);
                string hmac = BitConverter.ToString(digest).Replace("-", "");
                string authorization = string.Format("{0} {1}={2}/{3}/{4}, {5}={6}, {7}={8}",
                    MetadataConstants.ALGORITHM_KEY,
                    MetadataConstants.CREDENTIAL_KEY,
                    credentials.AccessKey,
                    clientConfig.region(),
                    clientConfig.serviceName(),
                    MetadataConstants.SIGNED_HEADERS_KEY,
                    MetadataConstants.DATE_TIME_KEY,
                    MetadataConstants.SIGNATURE_KEY,
                    hmac);
                metadata.Add(MetadataConstants.AUTHORIZATION, authorization);
            }
        }