private static async Task <CertificateInner> UploadCertificate( IWebSiteManagementClient client, string resourceGroup, string appName, string appSlot, PfxBuilder pfx, string thumbprint) { var pfxName = string.Format(CultureInfo.InvariantCulture, "[certes] {0:yyyyMMddhhmmss}", DateTime.UtcNow); var pfxPassword = Guid.NewGuid().ToString("N"); var pfxBytes = pfx.Build(pfxName, pfxPassword); var webApp = string.IsNullOrWhiteSpace(appSlot) ? await client.WebApps.GetAsync(resourceGroup, appName) : await client.WebApps.GetSlotAsync(resourceGroup, appName, appSlot); var certData = new CertificateInner { PfxBlob = pfxBytes, Password = pfxPassword, Location = webApp.Location, }; return(await client.Certificates.CreateOrUpdateAsync( resourceGroup, thumbprint, certData)); }
/// <summary> /// Create or update a certificate. /// </summary> /// <remarks> /// Create or update a certificate. /// </remarks> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of the resource group to which the resource belongs. /// </param> /// <param name='name'> /// Name of the certificate. /// </param> /// <param name='certificateEnvelope'> /// Details of certificate, if it exists already. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <CertificateInner> UpdateAsync(this ICertificatesOperations operations, string resourceGroupName, string name, CertificateInner certificateEnvelope, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.UpdateWithHttpMessagesAsync(resourceGroupName, name, certificateEnvelope, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }