IWebHostBuilderExtensions_UseCertificates.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Microsoft.AspNetCore.Hosting;
  2. using Vit.WebHost.Extensions.UseCertificates;
  3. namespace Vit.Extensions
  4. {
  5. public static partial class IWebHostBuilderExtensions_UseCertificates
  6. {
  7. /// <summary>
  8. /// 加载https证书
  9. /// <example>
  10. /// <code>
  11. /// //appsettings.json
  12. /// //...
  13. /// "server": {
  14. /// /* https证书配置,可不指定。若urls中指定了https协议,请在此指定对应的https证书 */
  15. /// "certificates": [
  16. /// {
  17. /// "filePath": "data/serset-com-iis-0923120142.pfx",
  18. /// "password": "password"
  19. /// }
  20. /// ]
  21. /// },
  22. /// //...
  23. /// </code>
  24. /// </example>
  25. ///
  26. /// </summary>
  27. /// <param name="data"></param>
  28. /// <param name="configPath">在appsettings.json文件中的路径。默认:"server.certificates"。</param>
  29. /// <returns></returns>
  30. public static IWebHostBuilder UseCertificates(this IWebHostBuilder data, string configPath = "server.certificates")
  31. {
  32. data?.ConfigureServices(services=> services.UseCertificates(configPath));
  33. return data;
  34. }
  35. /// <summary>
  36. /// 加载https证书
  37. /// </summary>
  38. /// <param name="data"></param>
  39. /// <param name="certificates">证书配置</param>
  40. /// <returns></returns>
  41. public static IWebHostBuilder UseCertificates(this IWebHostBuilder data, CertificateInfo[] certificates)
  42. {
  43. data?.ConfigureServices(services => services.UseCertificates(certificates));
  44. return data;
  45. }
  46. }
  47. }