AIX配置tomcat https的问题解决

下午, QA 报告了一个问题,在 AIX 上配置 Tomcat https 出现问题,具体异常如下:
Catalina . start : LifecycleException:  
null
. open:  java . security . NoSuchAlgorithmException: Class com .ibm.jsse.bq configured for SSLContext not  a SSLContext
LifecycleException:  
null
. open:  java . security . NoSuchAlgorithmException: Class com . ibm . jsse . bq configured  for  SSLContext  not  a SSLContext
        at org
. apache . catalina . connector . http . HttpConnector . initialize ( HttpConnector . java: 1209 )
  
于是,查了tomcat中的server.xml的Connector配置,如下:
< Connector  className ="org.apache.catalina.connector.http.HttpConnector"  port ="8544"  minProcessors ="5"  maxProcessors ="75"  enableLookups ="true"  acceptCount ="10"  debug ="0"  scheme ="https"  secure ="true"  allowChunking ="false" >
    
< Factory  className ="org.apache.catalina.net.SSLServerSocketFactory"  clientAuth ="false"  protocol ="TLS"  keystoreFile ="/tibco/tra2/tibco/administrator/domain/aix_Test_GG/SSL/keystore"  keystorePass ="123456" />
Connector>
 
查看了AIX上java的信息版本,如下:
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX build ca1420-20040626 (JIT enabled: jitc))
 
这个问题一般是与java.security有关,于是查看了jre/1.4.2/lib/security下的java.security文件配置,主要是securty.provider的配置信息,如下:
security.provider.1= com.ibm.jsse.IBMJSSEProvider
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
security.provider.4=com.ibm.security.cert.IBMCertPath
 
查了com.ibm.jsse.bq这个class,竟然在IBMJSSE和IBMJCE这两个provider中都存在,但是classload应该是首先加载IBMJCE的,这应该就是问题所在。

于是将securty.provider的配置信息更改为:
security.provider.1=com.ibm.crypto.provider.IBMJCE
security.provider.2=com.ibm.jsse.IBMJSSEProvider
 
并且重新生成keystore文件,就可以了。





下午, QA 报告了一个问题,在 AIX 上配置 Tomcat https 出现问题,具体异常如下:
Catalina . start : LifecycleException:  
null
. open:  java . security . NoSuchAlgorithmException: Class com .ibm.jsse.bq configured for SSLContext not  a SSLContext
LifecycleException:  
null
. open:  java . security . NoSuchAlgorithmException: Class com . ibm . jsse . bq configured  for  SSLContext  not  a SSLContext
        at org
. apache . catalina . connector . http . HttpConnector . initialize ( HttpConnector . java: 1209 )
  
于是,查了tomcat中的server.xml的Connector配置,如下:
< Connector  className ="org.apache.catalina.connector.http.HttpConnector"  port ="8544"  minProcessors ="5"  maxProcessors ="75"  enableLookups ="true"  acceptCount ="10"  debug ="0"  scheme ="https"  secure ="true"  allowChunking ="false" >
    
< Factory  className ="org.apache.catalina.net.SSLServerSocketFactory"  clientAuth ="false"  protocol ="TLS"  keystoreFile ="/tibco/tra2/tibco/administrator/domain/aix_Test_GG/SSL/keystore"  keystorePass ="123456" />
Connector>
 
查看了AIX上java的信息版本,如下:
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX build ca1420-20040626 (JIT enabled: jitc))
 
这个问题一般是与java.security有关,于是查看了jre/1.4.2/lib/security下的java.security文件配置,主要是securty.provider的配置信息,如下:
security.provider.1= com.ibm.jsse.IBMJSSEProvider
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
security.provider.4=com.ibm.security.cert.IBMCertPath
 
查了com.ibm.jsse.bq这个class,竟然在IBMJSSE和IBMJCE这两个provider中都存在,但是classload应该是首先加载IBMJCE的,这应该就是问题所在。

于是将securty.provider的配置信息更改为:
security.provider.1=com.ibm.crypto.provider.IBMJCE
security.provider.2=com.ibm.jsse.IBMJSSEProvider
 
并且重新生成keystore文件,就可以了。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值