问题:AAA下802.1x认证,协议为eap-peap协议时,jdk版本由1.6u27以前版本升级到jdk1.7版本,认证失败,客户端不回应报文。
原因:服务器使用jdk的jsse的模块进行tls协议处理,升级后,由于jsse模块代码变更导致,详细原因:
1.在协议协商时就失败,原因是jdk默认的安全策略导致,由于出口限制,限制了出口算法
解决办法:修改jdk\jre\lib\security的出口限制策略,放开算法限制,涉及local_policy和US_export_policy两个包
2.在加密环境失败,客户端不回应报文
解决办法:由于1.6u29版本,增加了jsse.enableCBCProtection保护,解决BEAST attack安全问题,但是存在bug,需要将该属性禁用,-Djsse.enableCBCProtection=false
相关链接:
https://www.aquaclusters.com/app/home/project/public/aquadatastudio/discussion/GeneralDiscussions/post/25/Java-6u29-bug-prevents-SSL-connection-to-SQL-Server-2008-R2
https://access.redhat.com/solutions/66829
https://bug665814.bugzilla.mozilla.org/attachment.cgi?id=540839
http://en.wikipedia.org/wiki/Transport_Layer_Security#cite_note-ChromeBEAST-67