zoukankan      html  css  js  c++  java
  • 为认证系统生成自签名数字证书

      出于安全考虑,认证系统多采用HTTPS协议,该协议是在HTTP的基础上引入SSL,为实现数据的安全性、完整性和保密性需要使用到权威机构颁发的数字证书。但出于成本考虑,在系统开发和测试阶段一般不会向CA申请数字证书。这时候就需要生成自签名证书。在CentOS上可以使用openssl生成自己的数字证书。以下是为使用IdentityServer4的AspNetCore3.1项目启用HTTPS的示例。

      1.生成RSA私钥

    openssl genrsa -des3 -out default.key 2048

      

      2.生成证书签名请求(CSR)文件

    openssl req -new -key default.key -out default.csr

      按要求填写指定信息即可,需要特别指出的是如果没有域名的话,CN(Common Name)也可以设置为IP地址。

      

      3.生成证书

    openssl x509 -req -days 365 -in default.csr -signkey default.key -out default.crt

      

      4.让服务器(这里是CentOS8)信任该证书

      拷贝default.crt的内容,追加至/etc/pki/tls/certs中的ca-bundle.trust.crt尾部。

      

      5.生成PFX文件

    openssl pkcs12 -export -out default.pfx -inkey default.key -in default.crt

      

      6.使用PFX文件

      将生成的default.pfx文件拷贝至项目有权限访问的目录,比如项目根目录,多个项目的公共目录等。

      

      7.在项目的Program中找到CreateHostBuilder,添加如下片段

    .UseKestrel(options =>
    {
        options.Listen(IPAddress.Any, 5001, listenOptions =>
        {
            listenOptions.UseHttps("default.pfx", "123456");
        });
    });

      

      8.发布项目至CentOS

      访问https://ip:port/.well-known/openid-configuration

  • 相关阅读:
    JavaScript与C# Windows应用程序交互
    SVG与CSS的特殊性
    Flash 仪表控件 FusionGadgets【转】
    如何获取Windows服务对应程序的所在目录
    记录几个CSS样式
    使用网络调试助手时出现 connect() failed 错误
    使用xml配置文件配置DataGridView的列信息
    javascript解析json
    iPhone开发笔记
    (转)C语言中两种方式表示时间日期值time_t和struct tm类型的相互转换
  • 原文地址:https://www.cnblogs.com/xuejietong/p/14443450.html
Copyright © 2011-2022 走看看