public override void ExecuteCmdlet()
        {
            if (InputObject != null)
            {
                VaultName = InputObject.VaultName;
                Name      = InputObject.Name;
            }

            if (ShouldProcess(Name, Properties.Resources.SetCertificateAttributes))
            {
                var certificateBundle = DataServiceClient.UpdateCertificate(
                    VaultName,
                    Name,
                    Version ?? string.Empty,
                    new CertificateAttributes
                {
                    Enabled = Enable,
                },
                    Tag == null ? null : Tag.ConvertToDictionary());

                if (PassThru)
                {
                    var certificate = PSKeyVaultCertificate.FromCertificateBundle(certificateBundle);
                    this.WriteObject(certificate);
                }
            }
        }
        public override void ExecuteCmdlet()
        {
            if (ShouldProcess(Name, Properties.Resources.ImportCertificate))
            {
                List <CertificateBundle> certBundleList = new List <CertificateBundle>();
                CertificateBundle        certBundle     = null;

                switch (ParameterSetName)
                {
                case ImportCertificateFromFileParameterSet:

                    if (Password != null)
                    {
                        X509Certificate2Collection userProvidedCertColl = InitializeCertificateCollection();
                        X509Certificate2Collection certColl             = new X509Certificate2Collection();

                        byte[] base64Bytes;

                        if (Password == null)
                        {
                            base64Bytes = userProvidedCertColl.Export(X509ContentType.Pfx);
                        }
                        else
                        {
                            base64Bytes = userProvidedCertColl.Export(X509ContentType.Pfx, Password.ConvertToString());
                        }

                        string base64CertCollection = Convert.ToBase64String(base64Bytes);
                        certBundle = this.DataServiceClient.ImportCertificate(VaultName, Name, base64CertCollection, Password, Tag == null ? null : Tag.ConvertToDictionary());

                        break;
                    }

                    certBundle = this.DataServiceClient.MergeCertificate(
                        VaultName,
                        Name,
                        LoadCertificateFromFile(),
                        Tag == null ? null : Tag.ConvertToDictionary());

                    break;

                case ImportWithPrivateKeyFromCollectionParameterSet:
                    certBundle = this.DataServiceClient.ImportCertificate(VaultName, Name, CertificateCollection, Tag == null ? null : Tag.ConvertToDictionary());

                    break;

                case ImportWithPrivateKeyFromStringParameterSet:
                    certBundle = this.DataServiceClient.ImportCertificate(VaultName, Name, CertificateString, Password, Tag == null ? null : Tag.ConvertToDictionary());

                    break;
                }

                var certificate = PSKeyVaultCertificate.FromCertificateBundle(certBundle);
                this.WriteObject(certificate);
            }
        }
Esempio n. 3
0
        public override void ExecuteCmdlet()
        {
            CertificateBundle certBundle;

            if (InputObject != null)
            {
                VaultName = InputObject.VaultName.ToString();
            }

            if (!string.IsNullOrEmpty(Version))
            {
                certBundle = this.DataServiceClient.GetCertificate(VaultName, Name, Version);
                var certificate = PSKeyVaultCertificate.FromCertificateBundle(certBundle);
                this.WriteObject(certificate);
            }
            else if (IncludeVersions)
            {
                certBundle = this.DataServiceClient.GetCertificate(VaultName, Name, string.Empty);
                if (certBundle != null)
                {
                    WriteObject(new PSKeyVaultCertificateIdentityItem(certBundle));
                    GetAndWriteCertificatesVersions(VaultName, Name, certBundle.CertificateIdentifier.Version);
                }
            }
            else if (InRemovedState)
            {
                if (Name == null)
                {
                    GetAndWriteDeletedCertificates(VaultName);
                }
                else
                {
                    PSDeletedKeyVaultCertificate deletedCert = PSDeletedKeyVaultCertificate.FromDeletedCertificateBundle(DataServiceClient.GetDeletedCertificate(VaultName, Name));
                    WriteObject(deletedCert);
                }
            }
            else if (!string.IsNullOrEmpty(Name))
            {
                certBundle = this.DataServiceClient.GetCertificate(VaultName, Name, string.Empty);
                var certificate = PSKeyVaultCertificate.FromCertificateBundle(certBundle);
                this.WriteObject(certificate);
            }
            else
            {
                GetAndWriteCertificates(VaultName);
            }
        }