httpunit模拟URL以HTTPS开头的响应问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:35:20
测试工具httpunit
代码如下:
Webconsion fwebconsion = new Webconsion ();
Webresponse res = fwebconsion.getResponse("http----")
这样是可以模拟成功的,但我改成
Webresponse res = fwebconsion.getResponse("https----")
就不行了,为什么?怎么解决?
我差了下,1.2以上的版本已经支持了https了啊,
而且我用浏览器以https--的URL打开是可以的.高手指点,分不是问题
混分的走开
不要发这些好不?发点具体的代码,给点注释,朋友,你发的网站。我早就看过了,原理大致也清楚。按照上面说的,做过,把3个包copy到对应的目录,java.security文件也改过,就是不行,我才来这求9的,和以前一样还是会抛同样的异常,即jsse的问题, 我用httpunit测的时候直接用Webresponse res = fwebconsion.getResponse("https----") 发的请求,因为是客户端,所以我并没有作证书导入的操作。
所以才请有写过的人,发段代码来指点。

https以保密为目标研发,其安全基础是SSL协议。而SSL的工作方式

客户端要收发几个握手信号:

发送一个ClientHello消息,说明它支持的密码算法列表、压缩方法及最高协议版本,也发送稍后将被使用的随机数。
然后收到一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello。
当双方知道了连接参数,客户端与服务器交换证书(依靠被选择的公钥系统)。这些证书通常基于X.509,不过已有草案支持以OpenPGP为基础的证书。
服务器请求客户端公钥。客户端有证书即双向身份认证,没证书时随机生成公钥。
客户端与服务器通过公钥保密协商共同的主私钥(双方随机协商),这通过精心谨慎设计的伪随机数功能实现。结果可能使用Diffie-Hellman交换,或简化的公钥加密,双方各自用私钥解密。所有其他关键数据的加密均使用这个「主密钥」。

注意客户端和服务器端要交换证书。或者提供公钥。java中由Java 安全套接口扩展来实现,即Java Secure Socket Extension, JSSE,jdk中提供了 keytool这个工具,允许管理员管理公共/专用密钥对和关联证书。还允许用户高速缓存正与其通信的另一方的公共密钥(以证书形式)。
补充~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
原理性的东西都跟你说了,你自己就不能去找找了?什么东西都要被人给你找出来,你自己不能找一下吗,这样才是学习~~

好吧,具体步骤看这里
http://httpunit.sourceforge.net/doc/sslfaq.html
不要说看不懂英文。