stone2083

最新评论

re: SSL双向认证java实现 le 2008-11-17 14:00  
强身份认证演示:https://www.wosign.com/logindemo/
re: CGlib简单介绍 大鹏 2008-10-03 21:34  
太强了,我顶!
re: 由数据订正想到的 stone2083 2008-07-28 21:13  
无奈啊,很多时候,也只能尽自己力量,在有限的条件呢,把事情做好。
理想和现实的差距实在是太大了。
re: 由数据订正想到的 小军 2008-07-26 19:59  
这个我绝对支持您的看法。平时赶时间或者偷懒,到头来付出的代价更大。还不如源头控制好。我想我作为一个初学者,应该要做好这一点,起码不能让错误延续下去。
re: 资源如何避免多线程下载 stone2083 2008-07-18 20:39  
文章的本意不是说通过servlet,来控制文件的下载。
而是站在协议的角度上,通过servlet的例子,来说明,只要修改content-length的值,就能达到“只允许单线程下载资源“的目的。
虽然,通过修改协议的规定,擅自修改http头信息的方式的做法,不符合规范。但是对于小站点来说,是一个成本最小的方法。
站点上的图片等,都是资源,如果都允许多线程下载,那么用户量一多,对于小网站来说,还是有点困难的。
文章采用servlet,仅仅用于举例说明.真正的应用上,可以通过修改apache,lighttpd,等web服务器的配置,来达到这个目的。

如果是资源的下载,那么肯定通过更为专业的ftp server来对外服务。而不是采用http协议。当然传统的ftp server,也是有IO消耗的。

至于楼上所说的X-sendfile,我也看过javaeye的文章(http://robbin.javaeye.com/blog/154538)。X-sendfile,确实是一个很先进的理念(至少我看来是,或许我是一个很老土的人)。
但是自己对这个没有任何尝试,也没有更多的评论资格。
如果所有的下载请求都经过servlet读入与写入,大量的下载请求会压垮服务器
我记得在javaeye看过robbin的一片文章,将下载文件直接推给网卡buffer,让操作系统负责处理下载请求, 比如lighttd的X-sendfile
re: SSL双向认证java实现 stone2083 2008-07-14 13:21  
@JessonWoo
hi,首先申明下,我自己对ssl的认识还是很肤浅的,仅仅上次和cnnic合作的时候,为了了解安全性问题,才被迫稍微看了相应的一些知识.

所谓认证,是要对某台(当然可以是集群)服务器身份做认证.
认证方式有两种:
自签名认证:服务端生成key,然后根据key导出证书.公布于站点.
通过第三方认证机构认证:有服务端生成key,然后导出认证信息,交由天威诚信等第三方认证机构认证,最后生成证书,公布于站点.

客户端,将证书下载,确认为可信任公司认证信息,并且导入到受信任区(trustscore),建立连接与服务端进行正常交互.至此,就完成了对服务端的认证.
所以客户端必须将证书导入信任区.

java中,可以查看证书:
写个简单的方法:
FileInputStream fis = new FileInputStream("cert.cer");
CertificateFactory cf=CertificateFactory.getInstance("X509");
X509Certificate c=(X509Certificate) cf.generateCertificate(fis);
System.out.println(c.getSubjectDN());
//可以查看下X509Certificate的一些get方法.

其实keytool仅仅是jdk中的工具.
openssl是更常用的一个工具
可见:http://www.openssl.org/
re: SSL双向认证java实现 JessonWoo 2008-07-10 20:56  
请问单向认证,即客户端对服务器端的认证,需要为客户端配置证书吗,
具体用java如何实现查看服务器端证书的功能,
盼高手赐教!
re: jdk gc简介 stone2083 2008-07-03 22:09  
这么朋友实在是过奖了.
我仅仅记录了我对jdk gc的浅薄理解.
sun的文档,比我这边是详细多了.
re: CGlib简单介绍 stone2083 2008-07-03 22:07  
不可否认,每项技术总会存在弊端,比如cglib,导致jvm Permanet Generation 不再稳定,如果配置不当,并且大量生成cglib代理类的时候,出现out of memory;
又或者,调试代理类的时候,相当不方便...
但是cglib有他可喜的一面,底层采用asm,动态生成字节码,比jdk proxy效率高了不知多少;为spring aop提供了底层的一种实现;hibernate使用cglib动态生成DO/PO (接口层对象)字节码...应用是何等的广泛.
为java静态语言提供了动态特性(当然,底层是asm功劳),多么可喜.

我不清楚,你所谓使用cglib产生附加问题,具体是什么问题?
re: CGlib简单介绍 zhen 2008-07-03 16:51  
用cglib也产生了附加的问题
re: 久违的同学,久违的篮球 connie 2008-06-28 22:18  
"身体的疲惫换来心情的愉悦" 这场篮球打得真值,虽然把脚扭伤了(记得下次要小心哦)。
是该跟老同学多聚聚,四年的时光,有那么多美好的事情值得我们去怀念,铭刻在心里。
我也好想念我的大学生活......
re: SSL双向认证java实现 stone2083 2008-04-20 17:18  
谢谢wangpeng朋友,找到上原先demo中的一个问题。
因为在Server端程序中,初始化的SSLServreSocket
serverSocket = (SSLServerSocket) ctx.getServerSocketFactory().createServerSocket(DEFAULT_PORT);
少写了条语句:serverSocket.setNeedClientAuth(true); //表明需要验证客户端的身份。

由于原demo程序,不需要客户端身份验证,所以即使服务端没有客户端证书,也能完成通讯。

受限于自己对jsse理解非常的浅,上面的文章仅仅是覆盖了jsse很表层的内容。
推荐ibm网站上的一篇文章,对jsse和ssl写得很深入浅出。
为高级 JSSE 开发人员定制 :http://www.ibm.com/developerworks/cn/java/j-customssl/

如有问题,欢迎再交流 :)
re: SSL双向认证java实现 wangpeng 2008-04-18 11:43  
我的msn是steve_king211@msn.com,希望加上我,请教一些问题
re: SSL双向认证java实现 wangpeng 2008-04-18 11:41  
我用你的方法试了,的确可以实现ssl加密传输,但是我重新生成客户端证书后,并没有加载到服务器端的信任库tserver.keystore中,但是仍然可以通讯,这样就是我随便生成个客户端证书只要有服务器的证书就可以通讯了,没有真正意义上达到双向认证,如何解决这个问题,请指教
re: vi/vim 键盘图 及感想 ningsc 2008-04-09 09:31  
thanks
re: firefox优化参数 connie 2008-03-24 22:15  
我刚才按照你上面说的,试过了。是快了不少呢。不过,要关两次后,第三次启动就开始快了。
re: firefox优化参数 connie 2008-03-24 21:55  
我也是用Firefox的,启动速度同样慢!嘿嘿,我就照你说的方法去试试看哦。
re: jdk gc简介 倪炜 2008-03-24 09:33  
很不错,最近在看这个东西,sun的文档看的不是很清楚,这里写的很明白了。
re: SSL双向认证java实现 jzp 2008-01-05 22:37  
不错,正需要.以后多些文章分享,辛苦了.