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); }
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); }
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); }
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); }
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); }
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); }
static CosmosDbBench() { var keyBytes = Key.ComputeKeyBytes(fakeKey); sha = Sha256.Create(keyBytes); }
public void Setup() { var keyBytes = Key.ComputeKeyBytes(fakeKey); sha = Sha256.Create(keyBytes); }
static StorageBench() { var keyBytes = Key.ComputeKeyBytes(fakeKey); sha = Sha256.Create(keyBytes); }