« 我的创业计划(不完整版) | Main | 对.net技术的争论之言论摘抄 »

使用https方式证书的一点问题

作者:virushuo 发表于 2005-03-20 08:03 最后更新于 2005-10-18 17:10
版权声明:按照by-nc-sa的cc协议可转载,拒绝采用“独家” 授权媒介(含网站和平面媒体)转载、引用、链接,除非获得本人许可。转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。


如果要启用tomcat的https方式,首先要创建证书,使用的工具是jdk中的keytool ,用法不多说了,到处都有。

 使用keytool创建证书的第一个问题是:您的姓名是什么(竟然是中文的!),这时候,理所应当的是回答自己的名字。配置完成后,用浏览器访问,一切正常。但使用http client 写程序访问的时候,问题就出来了。

一般表现形式是这样的: 

type Exception report


message


description The server encountered an internal error () that prevented it from fulfilling this request.


exception


javax.servlet.ServletException: HTTPS hostname wrong: should be <localhost>


 ......


root cause


java.io.IOException: HTTPS hostname wrong: should be <localhost>

 ......

看到这个问题就能猜到是证书问题。但无论如何也猜不到证书到底有什么毛病。事实上,令人难以置信的是错误就出在创建证书的第一个问题--你的姓名。其实这个“姓名”应该是域名。比如说localhost或是blog.devep.net之类的。输成了姓名,和真正运行的时候域名不符,当然会出错。浏览器无所谓,弹出一个对话框,用户按一下就行了。但http client就直接抛出了上面那个错误。

真令人啼笑皆非。

 

又及:好久不去sun中国社区,去了一趟觉得很搞笑,sun竟然在用人民币来奖励回答别人问题或是发表文章。感觉真像sun的风格,直来直去的。微软中国社区也有激励机制,但人家只不过是可以在微软的商店里面购物的点数而已。sun则是“赤裸裸的人民币交易”:D

相关文章:
blog comments powered by Disqus
CC License. Some rights reserved.
署名·非商业用途·保持一致
本站之所有未作特别说明的内容均使用 创作共用协议.
POWERED_BY_MT_3.2