tcps oracle tomcat精简驱动程序不工作
我需要帮助我建立一个新的环境 Tomcat(钱包+jdbc瘦驱动程序)--->TCPS-->Oracle 12 我一直在关注这篇文章(),运气不好 当我尝试启动Tomcat时,会显示以下错误tcps oracle tomcat精简驱动程序不工作,oracle,tomcat,driver,thin,Oracle,Tomcat,Driver,Thin,我需要帮助我建立一个新的环境 Tomcat(钱包+jdbc瘦驱动程序)--->TCPS-->Oracle 12 我一直在关注这篇文章(),运气不好 当我尝试启动Tomcat时,会显示以下错误 Caused by: java.security.SignatureException: Signature length not correct: got 256 but was expecting 128 at sun.security.rsa.RSASignature.engineVeri
Caused by: java.security.SignatureException: Signature length not correct: got 256 but was expecting 128
at sun.security.rsa.RSASignature.engineVerify(RSASignature.java:189)
at java.security.Signature$Delegate.engineVerify(Signature.java:1219)
我想我遗漏了什么,但我不知道在哪里
甲骨文方面
listener.ora
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /u01/app/oracle/wallet)
)
)
SSL_CLIENT_AUTHENTICATION = FALSE
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 72795752816f)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCPS)(HOST = 72795752816f)(PORT = 2484))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
sqlnet.ora
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /u01/app/oracle/wallet)
)
)
SQLNET.AUTHENTICATION_SERVICES = (TCPS,NTS,BEQ)
SSL_CLIENT_AUTHENTICATION = FALSE
SSL_CIPHER_SUITES = (SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5)
SQLNET.WALLET_OVERRIDE = TRUE
SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)
雄猫侧
特斯奈姆斯·奥拉
TEST =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCPS)
(HOST = 72795752816f)
(PORT = 2484)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xe.oracle.docker)
)
)
context.xml
<Resource name="jdbc/edorasone" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:/@TEST"
connectionProperties="javax.net.ssl.keyStore=/tomcat/wallet/cwallet.sso;\
javax.net.ssl.keyStoreType=PCKS12;\
oracle.net.ssl_version=1.0;\
oracle.net.ssl_cipher_suites=(SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5);\
oracle.net.authentication_services=( TCPS )"
/>
<Resource name="jdbc/efdesone" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:/@TEST"
username="<username>" password="<password>" maxActive="20" maxIdle="10" maxWait="-1"
/>
顺便说一句:如果您在Tomcat中使用sqlplus客户端,并使用sqlnet.ora(=Oracle)和tnsnames.ora(=Tomcat),我可以毫无问题地连接。(a)使用Oracle钱包需要额外的JAR吗?(oraclepki.jar、osdt_core.jar、osdt_cert.jar)?(2) 更正javax.net.ssl.keyStoreType=PKCS12。您的输入有误。
(3) DB URL应该是“jdbc:oracle:thin:@TEST”,因为您使用的是别名,所以需要设置一个系统属性-Doracle.net.tns_admin=(a)使用oracle钱包需要额外的JAR吗?(oraclepki.jar、osdt_core.jar、osdt_cert.jar) 有关更多详细信息,请查看 非常感谢你的帮助。 a) 是的,他们已经就位了 b) 它与PCKS12一起工作 c) tns_admin进入setenv.sh脚本 最后,我的装置终于开始工作了 SSL密码套件必须在两侧匹配,所以我所做的是强制使用相同的密码 sqlnet.ora
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /u01/app/oracle/wallet)
)
)
SQLNET.AUTHENTICATION_SERVICES = (TCPS,NTS,BEQ)
SSL_CLIENT_AUTHENTICATION = FALSE
SSL_CIPHER_SUITES = (SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5)
SQLNET.WALLET_OVERRIDE = TRUE
SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)
setenv.sh
CATALINA_OPTS+=" -Doracle.net.ssl_cipher_suites=TLS_RSA_WITH_AES_256_CBC_SHA "
(注意前缀不同:Oracle端的SSL_uu和Tomcat/Java端的TLS_uuu)
对于那些有类似配置问题的,我让Tomcat配置端显示在这里
###############################
# DB CONNECTION CONFIGURATION #
###############################
# Oracle DB (JNDI)
CATALINA_OPTS+=" -Dspring.profiles.active=database-jndi "
CATALINA_OPTS+=" -Doracle.net.tns_admin=/tomcat/wallet "
CATALINA_OPTS+=" -Djavax.net.ssl.keyStore=/tomcat/wallet/keystore.jks "
CATALINA_OPTS+=" -Djavax.net.ssl.keyStoreType=JKS "
CATALINA_OPTS+=" -Djavax.net.ssl.keyStorePassword=Passw0rd "
CATALINA_OPTS+=" -Djavax.net.ssl.trustStore=/tomcat/wallet/truststore.jks "
CATALINA_OPTS+=" -Djavax.net.ssl.trustStorePassword=Passw0rd "
CATALINA_OPTS+=" -Doracle.net.authentication_services=TCPS "
CATALINA_OPTS+=" -Doracle.net.ssl_cipher_suites=TLS_RSA_WITH_AES_256_CBC_SHA "
context.xml
<Resource name="jdbc/edorasone" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:/@TEST"
connectionProperties="javax.net.ssl.keyStore=/tomcat/wallet/cwallet.sso;\
javax.net.ssl.keyStoreType=PCKS12;\
oracle.net.ssl_version=1.0;\
oracle.net.ssl_cipher_suites=(SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5);\
oracle.net.authentication_services=( TCPS )"
/>
<Resource name="jdbc/efdesone" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:/@TEST"
username="<username>" password="<password>" maxActive="20" maxIdle="10" maxWait="-1"
/>
问候
纳乔