示例#1
0
        public StaticKeyManagementServiceImpl(string key)
        {
            byte[] keyBytes  = Encoding.UTF8.GetBytes(key);
            Secret secretKey = new TransientSecretFactory().CreateSecret(keyBytes);

            encryptionKey = new SecretCryptoKey(secretKey, DateTimeOffset.UtcNow, false);
        }
示例#2
0
        private void MultiThreadedWithSecretBytesAccess()
        {
            ISecretFactory secretFactory = new TransientSecretFactory(null);
            Secret         secret        = secretFactory.CreateSecret(payload.Clone() as byte[]);

            // Get the current settings and try to force minWorkers
            ThreadPool.GetMinThreads(out _, out var currentMinIOC);
            Assert.True(ThreadPool.SetMinThreads(NumThreads, currentMinIOC));

            int completedTasks = 0;

            Parallel.ForEach(Enumerable.Range(0, NumThreads), i =>
            {
                try
                {
                    secret.WithSecretBytes(decryptedBytes =>
                    {
                        Assert.Equal(payload, decryptedBytes);
                        Interlocked.Increment(ref completedTasks);
                    });
                }
                catch (ThreadInterruptedException e)
                {
                    Logger.LogError(e, "Unexpected error during call");
                    throw;
                }
            });
            Assert.Equal(NumThreads, completedTasks);
        }
示例#3
0
        public TransientSecretFactoryTest()
        {
            Trace.Listeners.Clear();
            var consoleListener = new ConsoleTraceListener();

            Trace.Listeners.Add(consoleListener);

            var configuration = new ConfigurationBuilder()
                                .AddInMemoryCollection()
                                .Build();

            Debug.WriteLine("\nTransientSecretFactoryTest: New TransientSecretFactory");
            transientSecretFactory = new TransientSecretFactory(configuration);
        }
示例#4
0
 public TransientSecretFactoryTest()
 {
     transientSecretFactory = new TransientSecretFactory();
 }