Esempio n. 1
0
        public override void ExecuteCmdlet()
        {
            if (ParameterSetName.Equals(InputObjectParameterSet))
            {
                this.ResourceGroupName = this.InputObject.Resourcegroup;
                this.Name = this.InputObject.Name;
            }

            if (ParameterSetName.Equals(ResourceIdParameterSet))
            {
                this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId);
                this.Name = IotHubUtils.GetIotHubName(this.ResourceId);
            }

            if (!string.IsNullOrEmpty(CertificateName))
            {
                CertificateDescription certificateDescription = this.IotHubClient.Certificates.Get(this.ResourceGroupName, this.Name, this.CertificateName);
                this.WriteObject(IotHubUtils.ToPSCertificateDescription(certificateDescription));
            }
            else
            {
                CertificateListDescription certificateDescriptions = this.IotHubClient.Certificates.ListByIotHub(this.ResourceGroupName, this.Name);
                if (certificateDescriptions.Value.Count == 1)
                {
                    this.WriteObject(IotHubUtils.ToPSCertificateDescription(certificateDescriptions.Value[0]));
                }
                else
                {
                    this.WriteObject(IotHubUtils.ToPSCertificates(certificateDescriptions), true);
                }
            }
        }
Esempio n. 2
0
        public override void ExecuteCmdlet()
        {
            Path = ResolveUserPath(Path);
            if (ShouldProcess(CertificateName, Properties.Resources.AddIotHubCertificate))
            {
                string   certificate = string.Empty;
                FileInfo fileInfo    = new FileInfo(this.Path);
                switch (fileInfo.Extension.ToLower(CultureInfo.InvariantCulture))
                {
                case ".cer":
                    var certificateByteContent = File.ReadAllBytes(this.Path);
                    certificate = Convert.ToBase64String(certificateByteContent);
                    break;

                case ".pem":
                    certificate = File.ReadAllText(this.Path);
                    break;

                default:
                    certificate = this.Path;
                    break;
                }

                if (ParameterSetName.Equals(InputObjectParameterSet))
                {
                    this.ResourceGroupName = this.InputObject.ResourceGroupName;
                    this.Name            = this.InputObject.Name;
                    this.CertificateName = this.InputObject.CertificateName;
                    this.Etag            = this.InputObject.Etag;
                }

                if (ParameterSetName.Equals(ResourceIdParameterSet))
                {
                    this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId);
                    this.Name            = IotHubUtils.GetIotHubName(this.ResourceId);
                    this.CertificateName = IotHubUtils.GetIotHubCertificateName(this.ResourceId);
                }

                try
                {
                    certificate = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(certificate));

                    CertificateBodyDescription certificateBodyDescription = new CertificateBodyDescription();
                    certificateBodyDescription.Certificate = certificate;

                    CertificateDescription certificateDescription;
                    certificateDescription = this.IotHubClient.Certificates.CreateOrUpdate(this.ResourceGroupName, this.Name, this.CertificateName, this.Etag, certificateBodyDescription.Certificate);


                    this.WriteObject(IotHubUtils.ToPSCertificateDescription(certificateDescription));
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }