I need help with a new environment that I am setting up
Tomcat (wallet + jdbc thin driver) --> TCPS --> Oracle 12
I have been following this post (Oracle JDBC thin driver SSL) with no luck
When I try to start-up Tomcat, the following error is shown
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)
I think I'm missing something but I don't know where..
Oracle side
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
Tomcat Side
tnsnames.ora
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 )"
/>
BTW: If a use a sqlplus client in Tomcat with the sqlnet.ora(=Oracle) & tnsnames.ora (=Tomcat) I can connect with no problems.