public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();

            var sslCertificate = this.ApplicationGateway.SslCertificates.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase));

            if (sslCertificate != null)
            {
                throw new ArgumentException("Ssl certificate with the specified name already exists");
            }

            sslCertificate = new PSApplicationGatewaySslCertificate();
            sslCertificate.Name = this.Name;
            sslCertificate.Data = this.Data;
            sslCertificate.Password = this.Password;
            sslCertificate.PublicCertData = this.PublicCertData;
            sslCertificate.Id = ApplicationGatewayChildResourceHelper.GetResourceNotSetId(
                                this.NetworkClient.NetworkResourceProviderClient.Credentials.SubscriptionId,
                                Microsoft.Azure.Commands.Network.Properties.Resources.ApplicationGatewaySslCertificateName,
                                this.Name);

            this.ApplicationGateway.SslCertificates.Add(sslCertificate);

            WriteObject(this.ApplicationGateway);
        }
        public PSApplicationGatewaySslCertificate NewObject()
        {
            X509Certificate2 cert = new X509Certificate2(CertificateFile, Password, X509KeyStorageFlags.Exportable);

            var sslCertificate = new PSApplicationGatewaySslCertificate();

            sslCertificate.Name = this.Name;
            sslCertificate.Data = Convert.ToBase64String(cert.Export(X509ContentType.Pfx, Password));
            sslCertificate.Password = this.Password;
            sslCertificate.Id =
                ApplicationGatewayChildResourceHelper.GetResourceNotSetId(
                    this.NetworkClient.NetworkResourceProviderClient.Credentials.SubscriptionId,
                    Microsoft.Azure.Commands.Network.Properties.Resources.ApplicationGatewaySslCertificateName,
                    this.Name);

            return sslCertificate;
        }
        public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();

            var sslCertificate = new PSApplicationGatewaySslCertificate();
            sslCertificate.Name = this.Name;
            sslCertificate.Data = this.Data;
            sslCertificate.Password = this.Password;
            sslCertificate.PublicCertData = this.PublicCertData;
            
            sslCertificate.Id =
                ApplicationGatewayChildResourceHelper.GetResourceNotSetId(
                    this.NetworkClient.NetworkResourceProviderClient.Credentials.SubscriptionId,
                    Microsoft.Azure.Commands.Network.Properties.Resources.ApplicationGatewaySslCertificateName,
                    this.Name);

            WriteObject(sslCertificate);
        }