/// <summary> /// Find the most recently issued certificate for a specific target /// </summary> /// <param name="target"></param> /// <returns></returns> public static X509Certificate2 FindCertificate(ScheduledRenewal scheduled) { if (scheduled == null) { return(null); } var thumbprint = scheduled.History. OrderByDescending(x => x.Date). Where(x => x.Success). Select(x => x.Thumbprint). FirstOrDefault(); var friendlyName = scheduled.Binding.Host; var useThumbprint = !string.IsNullOrEmpty(thumbprint); if (!_options.CentralSsl) { if (useThumbprint) { return(_certificateStoreService.GetCertificateByThumbprint(thumbprint)); } else { return(_certificateStoreService.GetCertificateByFriendlyName(friendlyName)); } } else { if (useThumbprint) { return(_centralSslService.GetCertificateByThumbprint(thumbprint)); } else { return(_centralSslService.GetCertificateByFriendlyName(friendlyName)); } } }