JDK15: Cipher.getInstance throws UnsupportedOperationException
Panagiotis Astithas
past at ebs.gr
Fri Nov 4 01:03:04 PST 2005
Niels Cölle wrote:
> Hello,
>
> are there any known restrictions in the JCE implementation of
> jdk-1.5.0p2_1?
>
> If I use the native jdk15 I get the Exception below. On other platforms
> my code works:
> - FreeBSD linux-jdk15
> - Windows XP jdk1.5.0_05
> - RedHat EE 3.x jdk1.5.0_05
> - Solaris 8 jdk1.5.0_05
> - Solaris 9 jdk1.5.0_05
>
> I checked jce.jar with jarsigner -verify : OK.
> I installed the jce_policy files for 1.5.0 : failed.
> I replaced the jce.jar and the security directory with files from one
> of the working platforms : failed (of course?)
>
> Maybe I am searching in the wrong direction, but if I formerly got
> these "java.lang.SecurityException: Cannot set up certs for trusted
> CAs" errors, there was something wrong with the
> certificates/signatures/policy in jre/lib jre/lib/security.
> Has anybody new ideas?
>
> Thanks in advance
> Niels
>
> java.lang.ExceptionInInitializerError
> at javax.crypto.Cipher.getInstance(DashoA12275)
> at javax.crypto.Cipher.getInstance(DashoA12275)
> at com.coelle_online.Token.init(IAIKToken.java:253)
> at com.coelle_online.GenerateMasterKey.run(GenerateMasterKey.java:59)
> at com.coelle_online.GenerateMasterKey.main(GenerateMasterKey.java:91)
> Caused by: java.lang.SecurityException: Cannot set up certs for trusted CAs
> at javax.crypto.SunJCE_b.<clinit>(DashoA12275)
> ... 5 more
> Caused by: java.lang.UnsupportedOperationException
> at
> java.security.cert.CertificateFactorySpi.engineGenerateCertPath(CertificateFactorySpi.java:162)
>
> at
> java.security.cert.CertificateFactory.generateCertPath(CertificateFactory.java:353)
>
> at
> sun.security.util.SignatureFileVerifier.getSigners(SignatureFileVerifier.java:464)
>
> at
> sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:208)
>
> at
> sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)
>
> at java.util.jar.JarVerifier.processEntry(JarVerifier.java:282)
> at java.util.jar.JarVerifier.update(JarVerifier.java:194)
> at java.util.jar.JarFile.initializeVerifier(JarFile.java:317)
> at java.util.jar.JarFile.getInputStream(JarFile.java:382)
> at
> sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:119)
>
> at javax.crypto.SunJCE_d.a(DashoA12275)
> at javax.crypto.SunJCE_b.g(DashoA12275)
> at javax.crypto.SunJCE_b.e(DashoA12275)
> at javax.crypto.SunJCE_q.run(DashoA12275)
> at java.security.AccessController.doPrivileged(Native Method)
> ... 6 more
Have you replaced the installed cacerts file with the one from a working
Sun JDK (say Linux)? You can find the installed file in
/usr/local/jdk1.5.0/jre/lib/security/cacerts.
Cheers,
Panagiotis
More information about the freebsd-java
mailing list