T********i 发帖数: 2416 | 1 bug一直不断。
带病运行是当前所有系统的属性。
唯一的区别,就是开源的承认,毕源的千方百计抵赖。 |
c********l 发帖数: 8138 | 2 re这个
话说我这两天正好在捣鼓这个
Openssl 生成的key/cert + Tomcat 7 + APR Connector
结果发现了一个莫名其妙的bug
按照道理,只要SSL的链接成功建立,都会有Session ID
具体体现是getAttribute( "javax.servlet.request.ssl_session")必然有返回值
但是,在某种特殊条件下会诡异地返回null
也就是说,
如果客户端浏览器将self signed的证书加入root CA ,并且在不打开java.net.debug
=all的情况下,那么session ID 为null
这两个条件,只要去掉其中任意一个,session id依然能返回
不知道到底是java还是Tomcat 7还是OpenSSL的问题,总之三个里面必然有一个
有问题。
【在 T********i 的大作中提到】 : bug一直不断。 : 带病运行是当前所有系统的属性。 : 唯一的区别,就是开源的承认,毕源的千方百计抵赖。
|
T********i 发帖数: 2416 | 3 我碰到的问题是,如果release buffer,在多个concurrent connection的情况下,一
个session的某个packet会传递给另一个session,导致验证错误。
debug
【在 c********l 的大作中提到】 : re这个 : 话说我这两天正好在捣鼓这个 : Openssl 生成的key/cert + Tomcat 7 + APR Connector : 结果发现了一个莫名其妙的bug : 按照道理,只要SSL的链接成功建立,都会有Session ID : 具体体现是getAttribute( "javax.servlet.request.ssl_session")必然有返回值 : 但是,在某种特殊条件下会诡异地返回null : 也就是说, : 如果客户端浏览器将self signed的证书加入root CA ,并且在不打开java.net.debug : =all的情况下,那么session ID 为null
|
c********l 发帖数: 8138 | 4 你的Server端是用的什么?
APR应该没有release buffer,因为它好像连session manager都没有。
【在 T********i 的大作中提到】 : 我碰到的问题是,如果release buffer,在多个concurrent connection的情况下,一 : 个session的某个packet会传递给另一个session,导致验证错误。 : : debug
|
h**********c 发帖数: 4120 | 5 tomcat use sun/Java cipher suite,
not openssl, source your self,
I am not responsible
debug
【在 c********l 的大作中提到】 : re这个 : 话说我这两天正好在捣鼓这个 : Openssl 生成的key/cert + Tomcat 7 + APR Connector : 结果发现了一个莫名其妙的bug : 按照道理,只要SSL的链接成功建立,都会有Session ID : 具体体现是getAttribute( "javax.servlet.request.ssl_session")必然有返回值 : 但是,在某种特殊条件下会诡异地返回null : 也就是说, : 如果客户端浏览器将self signed的证书加入root CA ,并且在不打开java.net.debug : =all的情况下,那么session ID 为null
|
h**********c 发帖数: 4120 | 6 i am not sure openssl is really open
never got the complete source to read, but there is work-around, leave to
the reader as hw
maybe the only way is to compile kernel yourself and then compile openssl,
never tried.
this thing is not a free lunch, ykwim. |
c********l 发帖数: 8138 | 7 Tomcat有两种不同的connector.
一种是NIO/BIO,如果用这种connector,需要用Java cipher suite
采用java keystore方式
另一种是APR,
在用APR时,需要单纯配置一个dll(windows环境下)
APR读取OpenSSL格式的Key file / Cert file
OpenSSL格式与Java的keytool并不兼容
【在 h**********c 的大作中提到】 : tomcat use sun/Java cipher suite, : not openssl, source your self, : I am not responsible : : debug
|
s***e 发帖数: 108 | 8 这个不应该是openssl的问题吧
OpenSSL生成key/cert后, 就没OpenSSL啥事了呀
你有packet dump吗?看着可能是用了session ticket.
SSL/TLS现在问题就是太复杂,实现又各有各的,OpenSSL也没办法吧
debug
【在 c********l 的大作中提到】 : re这个 : 话说我这两天正好在捣鼓这个 : Openssl 生成的key/cert + Tomcat 7 + APR Connector : 结果发现了一个莫名其妙的bug : 按照道理,只要SSL的链接成功建立,都会有Session ID : 具体体现是getAttribute( "javax.servlet.request.ssl_session")必然有返回值 : 但是,在某种特殊条件下会诡异地返回null : 也就是说, : 如果客户端浏览器将self signed的证书加入root CA ,并且在不打开java.net.debug : =all的情况下,那么session ID 为null
|
s***e 发帖数: 108 | 9 it is. You can sure compile OpenSSL from source. No need to compile kernel
by yourself.
【在 h**********c 的大作中提到】 : i am not sure openssl is really open : never got the complete source to read, but there is work-around, leave to : the reader as hw : maybe the only way is to compile kernel yourself and then compile openssl, : never tried. : this thing is not a free lunch, ykwim.
|