码迷,mamicode.com
首页 > Web开发 > 详细

实现kbmmw web server 支持https

时间:2014-07-19 17:35:42      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   使用   os   

在以前的文章里面介绍过kbmmw 做web server.

前几天红鱼儿非要我给他做一个支持https 的web server.

其实kbmmw 支持https 有好几种方法:

1. 使用isapi 部署到iis 或者是apache 上,使用iis 或apache 的https 功能;

2.通过代理方式,使用使用iis 或apache 的https 功能。

 

今天通过kbmmw 的原生indy 方式实现一下https 支持。

由于是测试,不可能使用真正的证书服务。要应用到商业使用,要申请商用证书。

这里只是说明实现方式。

 

首先我们利用我们以前的web server 程序。

 

bubuko.com,布布扣

这服务器上加一个TkbmMWTCPIPIndyServerTransport,改名为sslt, 设置绑定端口443, 同时streamformat

设为AJAX.

并设置事件:

procedure TForm1.ssltConnect(AContext: TIdContext);
begin
  if AContext.Connection.IOHandler is TIdSSLIOHandlerSocketBase then
       TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough:=false;
end;

再放一个TIdServerIOHandlerSSLOpenSSL ,设置必要的参数如图;

bubuko.com,布布扣

注意,在单元引用里面要加入 IdContext 。

现在应该可以编译通过,但是ssl 还没有起作用。

 

现在需要为ssl 生成相关的key 与证书文件。

 

由于indy 是用openssl 实现证书的。我们先要下载一个openssl.

没有Linux ,就直接使用官网上的windows 版。

在这里下载http://www.openssl.org/related/binaries.html

我下载的文件名为Win32OpenSSL-1_0_1h.exe。

安装到系统上,运行就会出现黑窗口。

bubuko.com,布布扣

 

输入命令 genrsa -des3 -out kbmmw.key 1024

bubuko.com,布布扣

屏幕让输入key 的密码,随便输一个字符串。这里是xalion.要输两次,保持一致就可以了。

现在生成了key 文件,继续努力,生成证书文件。

把openssl 目录里面的openssl.cfg 拷贝一份,命名为openssl.cnf.

还是命令行:

 req -new -x509 -days 365 -key kbmmw.key -out kbmmw.crt -config openssl.cnf

bubuko.com,布布扣

 

输入密码,然后填入相应的国家、组织、名字、邮件等信息。

bubuko.com,布布扣

填完后,就生成了证书。

bubuko.com,布布扣

 

把这两个文件放到一个固定的目录。

例如d:\crt.

回到前面我们的delphi 程序。

开始设置相关的属性。

bubuko.com,布布扣

并加入事件。

procedure TForm1.sslGetPassword(var Password: string);
begin
    Password:=‘xalion‘;
end;

 

最后要把ssl 处理挂接到sslt 对象上。

在服务器激活前,加入下面代码:

  sslt.IdTCPServer.IOHandler:=ssl;

 如图

bubuko.com,布布扣

 

ok, 所有的东西都设置完了,准备发射。

编译运行,启动服务器。

 

注意,你的机器上一定要把开着443 端口的程序关掉。例如vmware.

在浏览器里面输入https://127.0.0.1.

第一次会出现

bubuko.com,布布扣

说明这个证书是假的,同时说明我们的系统工作正常了。

确认这个例外。

就可以通过https 正常访问web 了

bubuko.com,布布扣

 

 

好了,就这么多了。

实现kbmmw web server 支持https,布布扣,bubuko.com

实现kbmmw web server 支持https

标签:des   style   blog   http   使用   os   

原文地址:http://www.cnblogs.com/xalion/p/3853829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!