示例#1
0
        public void ToEncyptedData()
        {
            #region Arrange

            var si = new SecretInformation()
            {
                Filename = Guid.NewGuid().ToString()
            };

            var secret = Random.CreateData(512 / 8);
            var result = new MemoryStream();

            #endregion

            #region Act

            var encyptedData = si.ToEncyptedData(secret);

            #endregion

            #region Assert

            Assert.That(encyptedData, Is.Not.Null);

            #endregion
        }
示例#2
0
        public void ToEncyptedDataAndDecryptInternal()
        {
            #region Arrange

            var si = new SecretInformation()
            {
                Filename = Guid.NewGuid().ToString()
            };

            var secret = Random.CreateData(512 / 8);
            var result = new MemoryStream();

            #endregion

            #region Act

            var encyptedData = si.ToEncyptedData(secret);
            SymmetricEncryption.DecryptInternal(new MemoryStream(encyptedData), result, secret, null, null);
            var secretInformation = SecretInformation.FromProtoBufData(result.ToArray());

            #endregion

            #region Assert

            Assert.That(secretInformation.Filename, Is.EqualTo(si.Filename));

            #endregion
        }
示例#3
0
        public override SecretInformation[] GetSecretInfo(
            string filter,
            string vaultName,
            IReadOnlyDictionary <string, object> parameters,
            out Exception error)
        {
            var results = PowerShellInvoker.InvokeCommand(
                command: "Get-SecretInfo",
                args: new object[] { filter, vaultName },
                dataStreams: out PSDataStreams dataStreams);

            error = dataStreams.Error.Count > 0 ? dataStreams.Error[0].Exception : null;

            var list = new List <SecretInformation>(results.Count);

            foreach (var result in results)
            {
                SecretInformation item = ((result is PSObject) ? result.BaseObject : null) as SecretInformation;
                if (item != null)
                {
                    list.Add(item);
                }
            }

            return(list.ToArray());
        }