コード例 #1
0
        public virtual ProtectedSecret Protect(string keyName, ClearSecret secret)
        {
            if (secret == null)
            {
                throw new ArgumentNullException(nameof(secret));
            }

            var encryptedSecret = _encryptionManager.Encrypt(keyName, SecretEncoding.GetBytes(secret.Value));

            return(new ProtectedSecret
            {
                ApplicationName = secret.ApplicationName,
                MasterKeyId = keyName,
                InitialisationVector = encryptedSecret.InitialisationVector,
                Name = secret.Name,
                ProtectedDocumentKey = encryptedSecret.EncryptedDataKey,
                ProtectedSecretValue = encryptedSecret.EncryptedData
            });
        }
コード例 #2
0
        public void ProtectAndSave(string keyName, ClearSecret secret)
        {
            var ps = Protect(keyName, secret);

            _secrets.Save(ps);
        }