使用https方式证书的一点问题
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://blog.devep.net/virushuo/2005/03/20/1111249313218.html
如果要启用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




Comments
我喜欢赤裸裸的
Posted by: tinyfool | March 20, 2005 8:45 AM
非常感谢,解决了我的一个棘手问题:)
Posted by: ranger | December 21, 2005 12:18 PM