让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文件,打开他,参考上面的代码,设置即可。

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

相关推荐
laocooon5238578862 小时前
一台入网的电脑有6要素, 机器名,mac,ip,俺码,网关,dns,分别有什么作用
网络协议·tcp/ip·macos
bjbxkj5 小时前
量子隧穿:PROFINET到Ethernet ip的无损耗协议转换方案转
网络·网络协议·tcp/ip
TinpeaV11 小时前
websocket入门详解
java·网络·spring boot·websocket·网络协议
爱学习的章鱼哥11 小时前
计算机网络|| 网络协议分析
网络·网络协议·计算机网络
-曾牛11 小时前
基于微信小程序的在线聊天功能实现:WebSocket通信实战
前端·后端·websocket·网络协议·微信小程序·小程序·notepad++
八月的雨季 最後的冰吻12 小时前
SIP协议栈--osip源码梳理
linux·服务器·网络·c++·网络协议
若汝棋茗13 小时前
基于TouchSocket实现WebSocket自定义OpCode扩展协议
网络·websocket·网络协议
-SGlow-14 小时前
Linux相关概念和易错知识点(39)(URL、HTTP)
linux·运维·http
利刃大大14 小时前
【网络编程】九、详解 HTTPS 加密原理
网络·网络协议·https
巴巴_羊15 小时前
AJAX 使用 和 HTTP
前端·http·ajax