条件:
1 D5 以上
2 Indy9.03b 以上
3 两个 OpenSSL 的DLL
ssleay32.dll (151,552)
libeay32.dll (692,224)
一定要用最新版的,不然由于版本原因会出错,括号中是文件大小
这两个DLL要和应程程序放在一个目录下,或在系统目录
实施:
1 建一个新项目
2 在FORM上放一个IdSSLIOHandlerSocket
3 设置属性:
CertFile 指向一个证书文件(.cer),(一般的https都会有一个证书如果没有可以用IE导出一个)
VerifyDepth 设为2
Method 设为 sslvSSLv23
Mode 设为 sslmClient
4 放一个TIdHttp
设置属性:
Request.ContentType 设为 application/x-www-form-urlencoded
IOHandler 设为刚才上面的那个TIdServerIOHandlerSSL
5 Memo1.Text := IdHTTP1.Get('https://login.yahoo.com/config/login?.src=my&.v=0&.u=a0gonnoue2jjn&.last=&promo=&.intl=us&.bypass=&.partner=&.done=http%3a//my.yahoo.com');
IE导出证书的方法:
1菜单工-工具-Internet选项-内容
2 点击[证书]
3 选择 受信任的根证书颁发机构
4 在”颁发给栏“内找"Class 3 primary CA",点击,使之变兰
5 点击下方的导出按钮,在第三页注意选择Base-64 编码x.509 (cer)
6 取一个名字存放在硬盘上,这个文件就是IdSSLIOHandlerSocket的CerFile属性所指向的文件