public void UpdatesSecrets()
    {
        SecretName secretName = _fixture.Secret.SecretName;
        Secret     result     = _sample.UpdateSecret(projectId: secretName.ProjectId, secretId: secretName.SecretId);

        Assert.Equal("rocks", result.Labels["secretmanager"]);
    }
Ejemplo n.º 2
0
    public Policy IamGrantAccess(
        string projectId = "my-project", string secretId = "my-secret",
        string member    = "user:[email protected]")
    {
        // Create the client.
        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        // Build the resource name.
        SecretName secretName = new SecretName(projectId, secretId);

        // Get current policy.
        Policy policy = client.GetIamPolicy(new GetIamPolicyRequest
        {
            ResourceAsResourceName = secretName,
        });

        // Add the user to the list of bindings.
        policy.AddRoleMember("roles/secretmanager.secretAccessor", member);

        // Save the updated policy.
        policy = client.SetIamPolicy(new SetIamPolicyRequest
        {
            ResourceAsResourceName = secretName,
            Policy = policy,
        });
        return(policy);
    }
Ejemplo n.º 3
0
    public void ListsSecretVersions()
    {
        SecretName secretName = _fixture.Secret.SecretName;

        _sample.ListSecretVersions(
            projectId: secretName.ProjectId, secretId: secretName.SecretId);
    }
Ejemplo n.º 4
0
        public void Delete(string id)
        {
            var client = SecretManagerServiceClient.Create();

            var secretName = new SecretName(ProjectId, id);

            client.DeleteSecret(secretName);
        }
Ejemplo n.º 5
0
        public IActionResult GetVersion(string id)
        {
            var client = SecretManagerServiceClient.Create();

            var secretName = new SecretName(ProjectId, id);

            return(Ok(client.ListSecretVersions(secretName)));
        }
Ejemplo n.º 6
0
    public void GetsSecrets()
    {
        SecretName secretName = _fixture.Secret.SecretName;
        Secret     result     = _sample.GetSecret(
            projectId: secretName.ProjectId, secretId: secretName.SecretId);

        Assert.Equal(result.SecretName.SecretId, secretName.SecretId);
    }
Ejemplo n.º 7
0
        public ActionResult DeleteConfirmed(int id)
        {
            SecretName secretName = unitOfWork.SnameRepo.GetByID(id);

            unitOfWork.SnameRepo.Delete(id);
            unitOfWork.Save();
            return(RedirectToAction("Index"));
        }
    public void CreatesSecrets()
    {
        SecretName secretName = _fixture.SecretToCreateName;
        Secret     result     = _sample.CreateSecret(
            projectId: secretName.ProjectId, secretId: secretName.SecretId);

        Assert.Equal(result.SecretName.SecretId, secretName.SecretId);
    }
Ejemplo n.º 9
0
    public void GrantsAccess()
    {
        SecretName secretName = _fixture.SecretToCreateName;
        Policy     result     = _sample.IamGrantAccess(
            projectId: secretName.ProjectId, secretId: secretName.SecretId,
            member: "group:[email protected]");

        Assert.Contains(result.Bindings,
                        binding => binding.Role == "roles/secretmanager.secretAccessor" && binding.Members.Contains("group:[email protected]"));
    }
    public void DeletesSecrets()
    {
        SecretName secretName = _fixture.SecretToDelete.SecretName;

        _sample.DeleteSecret(projectId: secretName.ProjectId, secretId: secretName.SecretId);

        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        Assert.Throws <Grpc.Core.RpcException>(() => client.GetSecret(secretName));
    }
Ejemplo n.º 11
0
 public ActionResult Edit([Bind(Include = "SnameID,Sname")] SecretName secretName)
 {
     if (ModelState.IsValid)
     {
         unitOfWork.SnameRepo.Update(secretName);
         unitOfWork.Save();
         return(RedirectToAction("Index"));
     }
     // ViewBag.SnameID = new SelectList(db.Vojvodas, "VojvodaID", "Name", secretName.SnameID);
     return(View(secretName));
 }
Ejemplo n.º 12
0
    public void DeleteSecret(
        string projectId = "my-project", string secretId = "my-secret")
    {
        // Create the client.
        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        // Build the resource name.
        SecretName secretName = new SecretName(projectId, secretId);

        // Delete the secret.
        client.DeleteSecret(secretName);
    }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Parameters?.GetHashCode() ?? 0;
         hashCode = (hashCode * 397) ^ (ParametersFrom?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (SecretName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (SecretTransforms?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (ExternalID?.GetHashCode() ?? 0);
         return(hashCode);
     }
 }
Ejemplo n.º 14
0
    private void DeleteSecret(SecretName name)
    {
        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        try
        {
            client.DeleteSecret(name);
        }
        catch (Grpc.Core.RpcException e) when(e.StatusCode == Grpc.Core.StatusCode.NotFound)
        {
            // Ignore error - secret was already deleted
        }
    }
Ejemplo n.º 15
0
        public IActionResult PostVersion(string id, [FromBody] string data)
        {
            var client = SecretManagerServiceClient.Create();

            var secretName = new SecretName(ProjectId, id);

            var payload = new SecretPayload
            {
                Data = ByteString.CopyFrom(data, Encoding.UTF8),
            };

            return(Ok(client.AddSecretVersion(secretName, payload)));
        }
Ejemplo n.º 16
0
    public void AddsSecretVersions()
    {
        string        data          = "my secret data";
        SecretName    secretName    = _fixture.Secret.SecretName;
        SecretVersion secretVersion = _sample.AddSecretVersion(
            projectId: secretName.ProjectId, secretId: secretName.SecretId,
            data: data);

        SecretManagerServiceClient  client = SecretManagerServiceClient.Create();
        AccessSecretVersionResponse result = client.AccessSecretVersion(secretVersion.SecretVersionName);

        Assert.Equal(data, result.Payload.Data.ToStringUtf8());
    }
Ejemplo n.º 17
0
        internal async IAsyncEnumerable <string> ListSecretVersionsAsync(string secretId)
        {
            var request = new ListSecretVersionsRequest
            {
                ParentAsSecretName = SecretName.FromProjectSecret(m_projectId, secretId),
            };
            var response = m_client.ListSecretVersionsAsync(request);

            await foreach (var item in response)
            {
                yield return(item.SecretVersionName.SecretVersionId);
            }
        }
Ejemplo n.º 18
0
    public Secret GetSecret(string projectId = "my-project", string secretId = "my-secret")
    {
        // Create the client.
        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        // Build the resource name.
        SecretName secretName = new SecretName(projectId, secretId);

        // Call the API.
        Secret secret = client.GetSecret(secretName);

        return(secret);
    }
    public void ListSecretVersions(string projectId = "my-project", string secretId = "my-secret")
    {
        // Create the client.
        SecretManagerServiceClient client = SecretManagerServiceClient.Create();

        // Build the resource name.
        SecretName secretName = new SecretName(projectId, secretId);

        // Call the API.
        foreach (SecretVersion secretVersion in client.ListSecretVersions(secretName))
        {
            // ...
        }
    }
Ejemplo n.º 20
0
        // GET: SecretNames/Details/5
        public ActionResult Details(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SecretName secretName = unitOfWork.SnameRepo.GetByID(id);

            if (secretName == null)
            {
                return(HttpNotFound());
            }
            return(View(secretName));
        }
Ejemplo n.º 21
0
 private void DeleteSecret(SecretName name)
 {
     try
     {
         _client.DeleteSecret(new DeleteSecretRequest
         {
             SecretName = name
         });
     }
     catch (Grpc.Core.RpcException e) when(e.StatusCode == Grpc.Core.StatusCode.NotFound)
     {
         // Ignore error - secret was already deleted
     }
 }
Ejemplo n.º 22
0
        // GET: SecretNames/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SecretName secretName = unitOfWork.SnameRepo.GetByID(id);

            if (secretName == null)
            {
                return(HttpNotFound());
            }
            // ViewBag.SnameID = new SelectList(db.Vojvodas, "VojvodaID", "Name", secretName.SnameID);
            return(View(secretName));
        }
Ejemplo n.º 23
0
        static void Main(string[] args)
        {
            //переделал, теперь у меня письмо шифруется в send(), а расшифровывается в get()
            IChat chat2 = new Facebook();

            chat2 = new EncryptMsg().SetEncrypt(chat2);
            Console.WriteLine($"Автор: {chat2.Author}\nАдресат: {chat2.Recipient}\nПисьмо: {chat2.Text}\n");

            IChat chat1 = new Vk();

            chat1 = new SecretName().SetEncrypt(chat1);
            Console.WriteLine($"Автор: {chat1.Author}\nАдресат: {chat1.Recipient}\nПисьмо: {chat1.Text}\n");

            Console.Read();
        }
Ejemplo n.º 24
0
 protected override void Execute(CodeActivityContext context)
 {
     try
     {
         CreateSecret obj = new CreateSecret();
         obj.SecretName  = SecretName.Get(context);
         obj.SecretValue = SecretValue.Get(context);
         obj.ContenType  = "dev-Action-secret";
         string output = CreateSecretinAzure(obj);
         PublishedVersion.Set(context, output);
     }
     catch (Exception ex)
     {
         throw new InvalidWorkflowException("exception in action" + ex.Message, ex.InnerException);
     }
 }
        protected virtual async Task <Secret> ReadSecretAndFollowLinks(string key, int?datacenter, SecretStore store)
        {
            var secret = await store.Read(key, datacenter, "nucmd get");

            while (secret != null && secret.Type == SecretType.Link)
            {
                // Follow link
                var link = SecretName.Parse(secret.Value);
                await Console.WriteInfoLine(Strings.Secrets_FollowingLink, link.Name);

                secret = await store.Read(
                    link,
                    String.Format(CultureInfo.InvariantCulture, "nucmd get (link from {0})", secret.Name));
            }
            return(secret);
        }
Ejemplo n.º 26
0
        //[RequiredArgument]
        //[Output("Published Version")]
        //public OutArgument<string> PublishedVersion { get; set; }

        protected override void Execute(CodeActivityContext context)
        {
            try
            {
                AzureProcessor obj        = new AzureProcessor();
                string         secretName = string.Empty;
                secretName = string.IsNullOrEmpty(SecretName.Get(context))? "sec2" : SecretName.Get(context);
                string secretValue = obj.GetTokenHttpRequest();
                SecretValue.Set(context, secretValue);
            }
            catch (Exception ex)
            {
                SecretValue.Set(context, ex.Message);
                throw new InvalidWorkflowException("exception in action" + ex.Message, ex.InnerException);
            }
        }
Ejemplo n.º 27
0
        public SecretsFixture()
        {
            if (String.IsNullOrEmpty(s_projectId))
            {
                throw new Exception("missing GOOGLE_PROJECT_ID");
            }

            Secret             = CreateSecret();
            SecretToDelete     = CreateSecret();
            SecretWithVersions = CreateSecret();
            SecretToCreateName = new SecretName(s_projectId, RandomSecretId());

            SecretVersion          = AddSecretVersion(SecretWithVersions);
            SecretVersionToDestroy = AddSecretVersion(SecretWithVersions);
            SecretVersionToDisable = AddSecretVersion(SecretWithVersions);
            SecretVersionToEnable  = AddSecretVersion(SecretWithVersions);
            DisableSecretVersion(SecretVersionToEnable);
        }
Ejemplo n.º 28
0
        public IActionResult AccessVersion(string id)
        {
            var client = SecretManagerServiceClient.Create();

            var secretName = new SecretName(ProjectId, id);

            var result = client.ListSecretVersions(secretName)
                         .Select(v => new
            {
                RawVersion = v,
                Payload    = v.State == SecretVersion.Types.State.Enabled
                    ? client.AccessSecretVersion(v.Name).Payload.Data.ToStringUtf8()
                    : null
            })
                         .ToList();

            return(Ok(result));
        }
Ejemplo n.º 29
0
        private async Task CleanSecrets(SqlConnectionInfo connInfo)
        {
            if (Session.CurrentEnvironment == null)
            {
                return;
            }

            var secrets = await GetEnvironmentSecretStore(Session.CurrentEnvironment);

            if (secrets == null)
            {
                return;
            }

            var loginSecretName = new SecretName("sqldb." + connInfo.GetServerName() + ":logins." + User, datacenter: null);
            var secret          = await secrets.Read(loginSecretName, "nucmd db deleteuser");

            if (secret != null)
            {
                await Console.WriteInfoLine(Strings.Db_DeleteUserCommand_DeletingSecret, loginSecretName.Name);

                await secrets.Delete(loginSecretName, "nucmd db deleteuser");
            }

            // Check if there is a link that points at this user
            var match = BaseNameExtractor.Match(User);

            if (!match.Success)
            {
                return;
            }

            var userSecretName = new SecretName("sqldb." + connInfo.GetServerName() + "users." + match.Groups["base"].Value);

            secret = await secrets.Read(userSecretName, "nucmd db deleteuser");

            if (String.Equals(secret.Value, loginSecretName.ToString(), StringComparison.OrdinalIgnoreCase))
            {
                await Console.WriteInfoLine(Strings.Db_DeleteUserCommand_DeletingSecret, userSecretName.Name);

                await secrets.Delete(userSecretName, "nucmd db deleteuser");
            }
        }
Ejemplo n.º 30
0
        static void Main(string[] args)
        {
            IChat chat1 = new Vk();

            chat1 = new SecretName(chat1);
            Console.WriteLine($"Автор: {chat1.Author}\nАдресат: {chat1.Recipient}\nПисьмо: {chat1.Text}\n");

            IChat chat2 = new Facebook();

            Console.WriteLine($"До шифрования сообщения:\nАвтор: {chat2.Author}\nАдресат: {chat2.Recipient}\nПисьмо: {chat2.getMsg()}\n");
            chat2 = new EncrypMsg(chat2);
            Console.WriteLine($"После шифрования сообщения:\nАвтор: {chat2.Author}\nАдресат: {chat2.Recipient}\nПисьмо: {chat2.getMsg()}\n");
            chat2 = new EncrypMsg(chat2);
            Console.WriteLine($"После расшифровки сообщения:\nАвтор: {chat2.Author}\nАдресат: {chat2.Recipient}\nПисьмо: {chat2.getMsg()}\n");

            //я так понимаю, что конструкция 'chat2=new EncrypMsg(chat2)' должна быть взаимообратной:
            //1ое "оборачивание" шифрует, 2ое - расшифровывает

            Console.Read();
        }