コード例 #1
0
ファイル: StorageClient.cs プロジェクト: safern/corefxlab
 public StorageClient(byte[] keyBytes, ReadOnlySpan <char> accountName, ReadOnlySpan <char> host, int port = 80)
 {
     _host        = new string(host);
     _accountName = new string(accountName);
     _port        = port;
     _hash        = Sha256.Create(keyBytes);
 }
コード例 #2
0
ファイル: StorageClient.cs プロジェクト: safern/corefxlab
 public StorageClient(ReadOnlySpan <char> masterKey, ReadOnlySpan <char> accountName, ReadOnlySpan <char> host, int port = 80)
 {
     _host        = new string(host);
     _accountName = new string(accountName);
     _port        = port;
     byte[] keyBytes = Key.ComputeKeyBytes(masterKey);
     _hash = Sha256.Create(keyBytes);
 }
コード例 #3
0
ファイル: StorageClient.cs プロジェクト: scslmd/corefxlab
        public StorageClient(ReadOnlyMemory <char> masterKey, ReadOnlyMemory <char> accountName, ReadOnlyMemory <char> host, int port = 80)
        {
            _host        = new string(host.Span);
            _accountName = new string(accountName.Span);
            _port        = port;
            var keyBytes = Key.ComputeKeyBytes(masterKey.Span);

            _hash = Sha256.Create(keyBytes);
        }
コード例 #4
0
        public void StorageSignature()
        {
            var keyBytes = Key.ComputeKeyBytes(fakeKey);
            var sha      = Sha256.Create(keyBytes);

            // Generate using non-allocating APIs
            var buffer = new byte[256];

            Assert.True(StorageAccessSignature.TryWrite(buffer, sha, "GET", canonicalizedResource, utc, out int bytesWritten));
            var signatureAsString = Encoding.UTF8.GetString(buffer, 0, bytesWritten);

            // Generate using existing .NET APIs (sample from Asure documentation)
            var expected = StorageBaselineFromMsdn(fakeKey, "GET", canonicalizedResource, utc);

            Assert.Equal(expected, signatureAsString);
        }
コード例 #5
0
        public void CosmosDbAuthenticationHeaderTryWriteUtf8()
        {
            var keyBytes = Key.ComputeKeyBytes(fakeKey);
            var sha      = Sha256.Create(keyBytes);

            // Generate using non-allocating APIs
            var buffer = new byte[256];

            Assert.True(CosmosDbAuthorizationHeader.TryWrite(buffer, sha, (Utf8Span)keyType, (Utf8Span)"GET", (Utf8Span)resourceId, (Utf8Span)resourceType, (Utf8Span)version, utc, out int bytesWritten));
            var signatureAsString = Encoding.UTF8.GetString(buffer, 0, bytesWritten);

            // Generate using existing .NET APIs (sample from Asure documentation)
            var expected = CosmosDbBaselineFromMsdn(fakeKey, keyType, "GET", resourceId, resourceType, version, utc);

            Assert.Equal(expected, signatureAsString);
        }
コード例 #6
0
        public void CosmosDbAuthenticationHeaderTryFormat()
        {
            var header = new CosmosDbAuthorizationHeader();

            header.Hash         = Sha256.Create(Key.ComputeKeyBytes(fakeKey));
            header.KeyType      = keyType;
            header.Method       = "GET";
            header.ResourceId   = resourceId;
            header.ResourceType = resourceType;
            header.Version      = version;
            header.Time         = utc;

            // Generate using non-allocating APIs
            var buffer = new byte[256];

            Assert.True(header.TryFormat(buffer, out int bytesWritten));

            var signatureAsString = Encoding.UTF8.GetString(buffer, 0, bytesWritten);

            // Generate using existing .NET APIs (sample from Asure documentation)
            var expected = CosmosDbBaselineFromMsdn(fakeKey, keyType, "GET", resourceId, resourceType, version, utc);

            Assert.Equal(expected, signatureAsString);
        }
コード例 #7
0
ファイル: CosmosDbBench.cs プロジェクト: zsybupt/corefxlab
    static CosmosDbBench()
    {
        var keyBytes = Key.ComputeKeyBytes(fakeKey);

        sha = Sha256.Create(keyBytes);
    }
コード例 #8
0
ファイル: CosmosDb.cs プロジェクト: zerodev1200/corefxlab
        public void Setup()
        {
            var keyBytes = Key.ComputeKeyBytes(fakeKey);

            sha = Sha256.Create(keyBytes);
        }
コード例 #9
0
    static StorageBench()
    {
        var keyBytes = Key.ComputeKeyBytes(fakeKey);

        sha = Sha256.Create(keyBytes);
    }