delphi unigui 基于IP自签名证书,支持https访问实现

1 生成证书

        基于unigui的使用手册,使用openssl生成需要的证书文件 root.pem key.pem cert.pem

        我使用的openssl version 3.1.3

1.1 生成根证书的私钥(root.key)

        openssl genrsa -out root.key 2048

1.2 生成自签名的根证书(root.pem)

        openssl req -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.pem

1.3 生成服务器的私钥(key.pem)

        openssl genrsa -out key.pem 2048

1.4 生成证书签名请求(csr)

        openssl req -new -key key.pem -out server.csr

1.5 使用根证书签名服务器的CSR生成公钥证书(cert.pem)

        通过IP在内部网络直接访问,需要设置主题备用名称 创建server.ext文件

[ v3_server ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
 
[alt_names]
IP.1 = 192.168.85.131

        openssl x509 -req  -extfile server.ext -extensions v3_server -in server.csr -CA root.pem -CAkey root.key -CAcreateserial -out cert.pem -days 3650 -sha256

        至此unigui中ssl需要的3个文件全部生成。

2 unigui配置

        根据实际使用情况选择sslversions

         

在procedure TuniServerModule.UniGUIServerModuleCreate事件中。加载自签名的证书,或者向机构申请的证书
  SSL.SSLOptions.RootCertFile := 详细路径 + '\root.pem';
  SSL.SSLOptions.CertFile := 详细路径 + '\cert.pem';
  SSL.SSLOptions.KeyFile := 详细路径 + '\key.pem';

3 导入自签名证书,避免浏览器告警

    在windows系统添加证书,打开“运行”窗口(可以通过按下Windows键 + R),输入certmgr.msc,然后按Enter键,以打开证书管理控制台。

        

        根据root.pem 生成root.crt,根据指引将证书导入到  受信任的根证书颁发机构

        openssl x509 -inform PEM -in root.pem -outform DER -out root.crt

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值