protected override void ExecuteCmdletImpl() { NewCertificateParameters parameters = new NewCertificateParameters(this.BatchContext, this.FilePath, this.RawData, this.AdditionalBehaviors) { Password = this.Password?.ConvertToString() }; BatchClient.AddCertificate(parameters); }
public override void ExecuteCmdlet() { NewCertificateParameters parameters = new NewCertificateParameters(this.BatchContext, this.FilePath, this.RawData, this.AdditionalBehaviors) { Password = this.Password }; BatchClient.AddCertificate(parameters); }
protected override void ProcessRecord() { NewCertificateParameters parameters = new NewCertificateParameters(this.BatchContext, this.FilePath, this.RawData, this.AdditionalBehaviors) { Password = this.Password }; BatchClient.AddCertificate(parameters); }
public override void ExecuteCmdlet() { NewCertificateParameters parameters = new NewCertificateParameters(this.BatchContext, this.FilePath, this.RawData, this.AdditionalBehaviors) { #pragma warning disable 0618 Password = this.Password #pragma warning restore 0618 }; BatchClient.AddCertificate(parameters); }
/// <summary> /// Adds a test certificate for use in Scenario tests. Returns the thumbprint of the cert. /// </summary> public static string AddTestCertificate(BatchController controller, BatchAccountContext context, string filePath) { RequestInterceptor interceptor = CreateHttpRecordingInterceptor(); BatchClientBehavior[] behaviors = new BatchClientBehavior[] { interceptor }; BatchClient client = new BatchClient(controller.BatchManagementClient, controller.ResourceManagementClient); X509Certificate2 cert = new X509Certificate2(filePath); ListCertificateOptions getParameters = new ListCertificateOptions(context, behaviors) { ThumbprintAlgorithm = BatchTestHelpers.TestCertificateAlgorithm, Thumbprint = cert.Thumbprint, Select = "thumbprint,state" }; try { PSCertificate existingCert = client.ListCertificates(getParameters).FirstOrDefault(); DateTime start = DateTime.Now; DateTime end = start.AddMinutes(5); // Cert might still be deleting from other tests, so we wait for the delete to finish. while (existingCert != null && existingCert.State == CertificateState.Deleting) { if (DateTime.Now > end) { throw new TimeoutException("Timed out waiting for existing cert to be deleted."); } Sleep(5000); existingCert = client.ListCertificates(getParameters).FirstOrDefault(); } } catch (AggregateException ex) { foreach (Exception inner in ex.InnerExceptions) { BatchException batchEx = inner as BatchException; // When the cert doesn't exist, we get a 404 error. For all other errors, throw. if (batchEx == null || !batchEx.Message.Contains("CertificateNotFound")) { throw; } } } NewCertificateParameters parameters = new NewCertificateParameters(context, null, cert.RawData, behaviors); client.AddCertificate(parameters); return(cert.Thumbprint); }
/// <summary> /// Adds a test certificate for use in Scenario tests. Returns the thumbprint of the cert. /// </summary> public static string AddTestCertificate(BatchController controller, BatchAccountContext context, string filePath) { BatchClient client = new BatchClient(controller.BatchManagementClient, controller.ResourceManagementClient); X509Certificate2 cert = new X509Certificate2(filePath); ListCertificateOptions getParameters = new ListCertificateOptions(context) { ThumbprintAlgorithm = BatchTestHelpers.TestCertificateAlgorithm, Thumbprint = cert.Thumbprint, Select = "thumbprint,state" }; try { PSCertificate existingCert = client.ListCertificates(getParameters).FirstOrDefault(); DateTime start = DateTime.Now; TimeSpan timeout = GetTimeout(TimeSpan.FromMinutes(5)); DateTime end = start.Add(timeout); // Cert might still be deleting from other tests, so we wait for the delete to finish. while (existingCert != null && existingCert.State == CertificateState.Deleting) { if (DateTime.Now > end) { throw new TimeoutException("Timed out waiting for existing cert to be deleted."); } Sleep(5000); existingCert = client.ListCertificates(getParameters).FirstOrDefault(); } } catch (BatchException ex) { // When the cert doesn't exist, we get a 404 error. For all other errors, throw. if (ex == null || !ex.Message.Contains("NotFound")) { throw; } } NewCertificateParameters parameters = new NewCertificateParameters( context, null, cert.RawData, PSCertificateKind.Cer); client.AddCertificate(parameters); return(cert.Thumbprint); }
protected override void ExecuteCmdletImpl() { string password = this.Password?.ConvertToString(); NewCertificateParameters parameters = new NewCertificateParameters( this.BatchContext, this.FilePath, this.RawData, // If kind has been specified, take that -- otherwise, default to old logic of using password to guess this.IsParameterBound(c => c.Kind) ? this.Kind : (password == null ? PSCertificateKind.Cer : PSCertificateKind.Pfx), this.AdditionalBehaviors) { Password = password }; BatchClient.AddCertificate(parameters); }