让uniGUI支持https

今天在专家的帮助下,成功的让uniGUI支持https了。

首先,去申请个**的证书。我同事去阿里申请的,申请回是一个zip文件,里面有两个文件,一个扩展是per,一个key

然后,把这两个证书文件放到uniGUI应用的根目录下。因为我用的uniGUI独立的EXE文件应用,所以要这样。如果你用的ISAPI,那要安装到IIS中。

接下来,改造uniGUI代码:

复制代码
  SSL.SSLOptions.RootCertFile := '你的.pem';
  SSL.SSLOptions.CertFile := '你的.pem';
  SSL.SSLOptions.KeyFile := '你的.key';
  SSL.SSLOptions.Method := TIdSSLVersion.sslvTLSv1_2;
  SSL.SSLOptions.SSLVersions := [sslvTLSv1_2];
  SSL.SSLOptions.Mode := TIdSSLMode.sslmUnassigned;
  SSL.SSLOptions.VerifyMode := [];
  SSL.SSLOptions.VerifyDepth := 0;
  SSL.SSLPort := 8077;   //这里设置为0,用https默认端口 443.
  //self.SSL.SSLPassword := '';
  self.SSL.Enabled := true;

把上面代码写到procedure TuniServerModule.UniGUIServerModuleCreate事件中。

找到ssl两个dll文件,复制到uniGUI应用所在的目录,跟证书一样。这两个文件uniGUI带了,在uniGUI的安装目录可以找到,如:C:\Program Files (x86)\FMSoft\Framework\uniGUI\SSL\dll。

注意:这里分32位与64位的版本,应该与你的应用相同。

现在编译并运行应用,你就可以在浏览器中用https访问应用了!

如果用了HyperServer来部署应用,还需要配置一下HyperServer。

在服务端找到hyperServer所在目录,会找到hyper_server_ssl.cfg文件,打开他,参考上面的代码,设置即可。

再好象没什么需要设置的了。

相关推荐
玖玥拾30 分钟前
C# 语言进阶(十三)网络 DLL 库分层设计
服务器·开发语言·网络·网络协议·c#
大师兄666834 分钟前
HarmonyOS7 HTTP 网络请求封装:统一拦截器实战
网络·网络协议·http·arkui·harmonyos7·实战讲解
韩曙亮1 小时前
【Flutter】iOS 网络权限设置 ② ( 配置 iOS 平台可使用 HTTP 访问 | ATS 网络安全强制规范 )
网络·flutter·http·ios·https·网络权限·ats
tiantianuser1 小时前
NVME-oF IP 设计1 :为什么要设计它?
网络·网络协议·rdma·roce v2·nvme of
有毒的教程2 小时前
生产环境Socket编程落地实战指南(TCP/UDP工程化方案)
网络协议·tcp/ip·udp
草根站起来12 小时前
“双算法SSL证书”伪方案、国产SSL证书营销话术与等保绑定乱象批判
网络·网络协议·ssl
江华森15 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http
her_heart18 小时前
把 ChatGPT 5.6 放进需求评审和测试设计之后,我反而减少了“一次成稿”的期待
网络·人工智能·网络协议·chatgpt·测试用例
笺落彼岸1 天前
SpringBoot3 JDK17集成proguard实现混淆打包
安全·https
coderhuo1 天前
libcurl blind sleep导致的耗时问题
网络协议