Example #1
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;
                }
            }
        }
Example #2
0
        protected CertificateDescription CreateCertificate(ResourceGroup resourceGroup, string iotHubName, string certificateName, string certificateBodyDescriptionContent)
        {
            var createCertificateBodyDescription = new CertificateBodyDescription(certificateBodyDescriptionContent);

            return(this.iotHubClient.Certificates.CreateOrUpdate(
                       resourceGroup.Name,
                       iotHubName,
                       certificateName,
                       createCertificateBodyDescription));
        }
        private void AddIotDpsCertificate()
        {
            string   certificate = string.Empty;
            FileInfo fileInfo    = new FileInfo(this.Path);

            switch (fileInfo.Extension.ToLower(CultureInfo.InvariantCulture))
            {
            case ".cer":
                var certificateByteContent = AzureSession.Instance.DataStore.ReadFileAsBytes(this.Path);
                certificate = Convert.ToBase64String(certificateByteContent);
                break;

            case ".pem":
                certificate = AzureSession.Instance.DataStore.ReadFileAsText(this.Path);
                break;

            default:
                certificate = this.Path;
                break;
            }

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

            CertificateBodyDescription certificateBodyDescription = new CertificateBodyDescription();

            certificateBodyDescription.Certificate = certificate;

            CertificateResponse certificateResponse;

            if (this.Etag != null)
            {
                certificateResponse = this.IotDpsClient.DpsCertificate.CreateOrUpdate(this.ResourceGroupName, this.Name, this.CertificateName, certificateBodyDescription, this.Etag);
            }
            else
            {
                certificateResponse = this.IotDpsClient.DpsCertificate.CreateOrUpdate(this.ResourceGroupName, this.Name, this.CertificateName, certificateBodyDescription);
            }

            this.WriteObject(IotDpsUtils.ToPSCertificateResponse(certificateResponse));
        }
Example #4
0
 /// <summary>
 /// Upload the certificate to the provisioning service.
 /// </summary>
 /// <remarks>
 /// Add new certificate or update an existing certificate.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Resource group identifier.
 /// </param>
 /// <param name='provisioningServiceName'>
 /// The name of the provisioning service.
 /// </param>
 /// <param name='certificateName'>
 /// The name of the certificate create or update.
 /// </param>
 /// <param name='certificateDescription'>
 /// The certificate body.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the certificate. This is required to update an existing
 /// certificate, and ignored while creating a brand new certificate.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <CertificateResponse> CreateOrUpdateAsync(this IDpsCertificateOperations operations, string resourceGroupName, string provisioningServiceName, string certificateName, CertificateBodyDescription certificateDescription, string ifMatch = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, provisioningServiceName, certificateName, certificateDescription, ifMatch, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Example #5
0
 /// <summary>
 /// Upload the certificate to the provisioning service.
 /// </summary>
 /// <remarks>
 /// Add new certificate or update an existing certificate.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Resource group identifier.
 /// </param>
 /// <param name='provisioningServiceName'>
 /// The name of the provisioning service.
 /// </param>
 /// <param name='certificateName'>
 /// The name of the certificate create or update.
 /// </param>
 /// <param name='certificateDescription'>
 /// The certificate body.
 /// </param>
 /// <param name='ifMatch'>
 /// ETag of the certificate. This is required to update an existing
 /// certificate, and ignored while creating a brand new certificate.
 /// </param>
 public static CertificateResponse CreateOrUpdate(this IDpsCertificateOperations operations, string resourceGroupName, string provisioningServiceName, string certificateName, CertificateBodyDescription certificateDescription, string ifMatch = default(string))
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, provisioningServiceName, certificateName, certificateDescription, ifMatch).GetAwaiter().GetResult());
 }