The following exception is reported when using Java from IBM JDK: Caused by: java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)at com.ibm.crypto.provider.PKCS12KeyStore.e

The following exception is reported when using Java from IBM JDK: Caused by: java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)at com.ibm.crypto.provider.PKCS12KeyStore.e

book

Article ID: KB0091819

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
Title:
Why get following exception when using Java from IBM JDK:

Caused by: java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)
    at com.ibm.crypto.provider.PKCS12KeyStore.engineLoad(Unknown Source)
    at java.security.KeyStore.load(KeyStore.java:1173)
    at com.tibco.security.impl.String.oooO.init(IdentityImpl.java:127)
    ... 32 more

Resolution:
When using Java from IBM JDK and issuing SSL connections with EMS server using the EMS sample Java program, the following exception is reported:

java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)
        at com.ibm.crypto.provider.PKCS12KeyStore.engineLoad(Unknown Source)
        at java.security.KeyStore.load(KeyStore.java:1173)
        at com.tibco.security.impl.String.oooO.init(IdentityImpl.java:127)
        at com.tibco.security.IdentityFactory.createIdentity(IdentityFactory.java:66)
        at com.tibco.tibjms.TibjmsSSL._identityFromStore(TibjmsSSL.java:2645)
        at com.tibco.tibjms.TibjmsSSL.createIdentity(TibjmsSSL.java:2569)
        at com.tibco.tibjms.TibjmsxLinkSSL._initSSL(TibjmsxLinkSSL.java:309)
        at com.tibco.tibjms.TibjmsxLinkSSL.connect(TibjmsxLinkSSL.java:390)
        at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1274)

        at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:4100)
        at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:191)
        at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:253)
        at com.tibco.tibjms.TibjmsTopicConnectionFactory.createTopicConnection(TibjmsTopicConnectionFactory.java:88)
        at tibjmsSSL.<init>(tibjmsSSL.java:160)
        at tibjmsSSL.main(tibjmsSSL.java:205)

This is due to the restricted security policies on the IBM JDK and limiting the key size. You can download the unrestricted security policies and unzip in JRE's lib security directory. Here is the location to download the SDK policy files: http://www.ibm.com/developerworks/java/jdk/security/50/#sdkpol

Issue/Introduction

The following exception is reported when using Java from IBM JDK: Caused by: java.io.IOException: Error in loading the keystore: Private key decryption error: (java.security.InvalidKeyException: Illegal key size)at com.ibm.crypto.provider.PKCS12KeyStore.engineLoad(Unknown Source)at java.security.KeyStore.load(KeyStore.java:1173)at com.tibco.security.impl.String.oooO.init(IdentityImpl.java:127)... 32 more