public PsApiManagementHostnameCertificate UploadCertificate( string resourceGroupName, string serviceName, PsApiManagementHostnameType hostnameType, string pfxPath, string pfxPassword) { byte[] certificate; using (var certStream = File.OpenRead(pfxPath)) { certificate = new byte[certStream.Length]; certStream.Read(certificate, 0, certificate.Length); } var encodedCertificate = Convert.ToBase64String(certificate); var parameters = new ApiManagementServiceUploadCertificateParameters(Mappers.MapHostnameType(hostnameType), encodedCertificate, pfxPassword); var result = Client.ApiManagementService.UploadCertificate(resourceGroupName, serviceName, parameters); return(new PsApiManagementHostnameCertificate(result)); }
public async Task UpdateHostNameTests() { Environment.SetEnvironmentVariable("AZURE_TEST_MODE", "Playback"); using (MockContext context = MockContext.Start(this.GetType().FullName)) { var testBase = new ApiManagementTestBase(context); var createdService = testBase.client.ApiManagementService.CreateOrUpdate( resourceGroupName: testBase.rgName, serviceName: testBase.serviceName, parameters: testBase.serviceProperties); ValidateService(createdService, testBase.serviceName, testBase.rgName, testBase.subscriptionId, testBase.location, testBase.serviceProperties.PublisherEmail, testBase.serviceProperties.PublisherName, testBase.serviceProperties.Sku.Name, testBase.tags); var base64ArrayCertificate = Convert.FromBase64String(testBase.base64EncodedTestCertificateData); var cert = new X509Certificate2(base64ArrayCertificate, testBase.testCertificatePassword); var uploadCertificateParams = new ApiManagementServiceUploadCertificateParameters() { Type = HostnameType.Proxy, Certificate = testBase.base64EncodedTestCertificateData, CertificatePassword = testBase.testCertificatePassword }; var certificateInformation = await testBase.client.ApiManagementService.UploadCertificateAsync(testBase.rgName, testBase.serviceName, uploadCertificateParams); Assert.NotNull(certificateInformation); Assert.Equal(cert.Thumbprint, certificateInformation.Thumbprint); Assert.Equal(cert.Subject, certificateInformation.Subject); var updateHostnameParams = new ApiManagementServiceUpdateHostnameParameters() { Update = new List <HostnameConfigurationOld>() { new HostnameConfigurationOld(HostnameType.Proxy, "proxy.msitesting.net", certificateInformation) } }; var serviceResource = await testBase.client.ApiManagementService.UpdateHostnameAsync( testBase.rgName, testBase.serviceName, updateHostnameParams); Assert.NotNull(serviceResource); Assert.Single(serviceResource.HostnameConfigurations); Assert.Equal(HostnameType.Proxy, serviceResource.HostnameConfigurations.First().Type); Assert.Equal("proxy.msitesting.net", serviceResource.HostnameConfigurations.First().HostName); // Delete testBase.client.ApiManagementService.Delete( resourceGroupName: testBase.rgName, serviceName: testBase.serviceName); Assert.Throws <CloudException>(() => { testBase.client.ApiManagementService.Get( resourceGroupName: testBase.rgName, serviceName: testBase.serviceName); }); } }
/// <summary> /// Upload Custom Domain SSL certificate for an API Management service. This /// operation will be deprecated in future releases. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='serviceName'> /// The name of the API Management service. /// </param> /// <param name='parameters'> /// Parameters supplied to the Upload SSL certificate for an API Management /// service operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <CertificateInformation> UploadCertificateAsync(this IApiManagementServiceOperations operations, string resourceGroupName, string serviceName, ApiManagementServiceUploadCertificateParameters parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.UploadCertificateWithHttpMessagesAsync(resourceGroupName, serviceName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Upload Custom Domain SSL certificate for an API Management service. This /// operation will be deprecated in future releases. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='serviceName'> /// The name of the API Management service. /// </param> /// <param name='parameters'> /// Parameters supplied to the Upload SSL certificate for an API Management /// service operation. /// </param> public static CertificateInformation UploadCertificate(this IApiManagementServiceOperations operations, string resourceGroupName, string serviceName, ApiManagementServiceUploadCertificateParameters parameters) { return(operations.UploadCertificateAsync(resourceGroupName, serviceName, parameters).GetAwaiter().GetResult()); }