Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.io.IOException: Invalid secret key format

user12155961Nov 30 2020

hello,
after (succesfull) patch of OJVM (JAVAVM) October 2020 (on 12.2.0.1.0 base without OJVM patches). I see that after starting the database, some jobs (one of the jobs is using the begin ctx_ddl.sync_index function) get following error in the database:

punting ioc_access_IU hd: 8ec92ca8 java/lang/CharacterDataLatin1

*** 2020-11-27T09:45:15.916961+01:00 (PELDBTSTPDB(3))
Nov 27, 2020 9:45:15 AM java.io.ObjectInputStream filterCheck

INFO: ObjectInputFilter REJECTED: null, array length: -1, nRefs: 1, depth: 1, bytes: 89, ex: n/a

java.io.IOException: Invalid secret key format

at com.sun.crypto.provider.JceKeyStore.engineLoad(JceKeyStore.java:850)

at java.security.KeyStore.load(KeyStore.java:1445)

at com.acesw.utilities.KeyLoadProcess.loadKeyStore(KeyLoadProcess.java)

at com.acesw.utilities.KeyLoadProcess.performKeyLoadProcess(KeyLoadProcess.java)

at com.acesw.utilities.KeyLoadProcess.getInternalKeyID(KeyLoadProcess.java)

java.io.IOException: Invalid secret key format

at com.sun.crypto.provider.JceKeyStore.engineLoad(JceKeyStore.java:850)

at java.security.KeyStore.load(KeyStore.java:1445)

at com.acesw.utilities.KeyLoadProcess.loadKeyStore(KeyLoadProcess.java)

at com.acesw.utilities.KeyLoadProcess.performKeyLoadProcess(KeyLoadProcess.java)

at com.acesw.utilities.KeyLoadProcess.getInternalKeyID(KeyLoadProcess.java)

Exception in thread "Root Thread" java.io.IOException: Invalid secret key format

at com.sun.crypto.provider.JceKeyStore.engineLoad(JceKeyStore.java:850)

at java.security.KeyStore.load(KeyStore.java:1445)

at com.acesw.utilities.KeyLoadProcess.loadKeyStore(KeyLoadProcess.java)

at com.acesw.utilities.KeyLoadProcess.performKeyLoadProcess(KeyLoadProcess.java)

at com.acesw.utilities.KeyLoadProcess.getInternalKeyID(KeyLoadProcess.java)

what is causing this and what is best solution?

I rolled back the patch now. But if there is a solution to fix this, I can re do the patch again.

thanks.

Comments

I suspect that you have the problem of the pass-through scenario.
Your NLS_LANG and Unicode locale are set to AL32UTF8 but
your terminal works in WE8ISO8859P1. Hence, you can enter
and retrieve your data but they are not stored legal AL32UTF8 codes.
This only suspicion, therefore please do the following test:

INSERT INTO <your_table>(<your_CLOB_COLUMN>)
VALUES( UNISTR('\00e4\00f6\00fc\00df') );

and query this value back. If you correctly see three German lowercase umlauts
and sharp s, then my diagnosis is wrong and I will try again.

Otherwise, set NLS_LANG=.WE8ISO8859P1 and restart your tests.


-- Sergiusz
361551
No, my terminal works with UFT-8 encoding.
I called your SQL-Statement twice, from windows and from UNIX, and I can see these four characters displayed correctly on the both sides.

Dzianis
Please, specify the exact database and client versions.

-- Sergiusz
Also, please post the code fragment that reports the error.

-- Sergiusz
361551
Server and Client have the same version number:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
361551
The OCI function is OCILobRead.
1 - 6

Post Details

Added on Nov 30 2020
0 comments
767 views