Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 7
0
    static CosmosDbBench()
    {
        var keyBytes = Key.ComputeKeyBytes(fakeKey);

        sha = Sha256.Create(keyBytes);
    }
Ejemplo n.º 8
0
        public void Setup()
        {
            var keyBytes = Key.ComputeKeyBytes(fakeKey);

            sha = Sha256.Create(keyBytes);
        }
Ejemplo n.º 9
0
    static StorageBench()
    {
        var keyBytes = Key.ComputeKeyBytes(fakeKey);

        sha = Sha256.Create(keyBytes);
    }