-
Bug
-
Resolution: Not an Issue
-
P3
-
None
-
7u13
-
windows_xp
FULL PRODUCT VERSION :
H:\>java -version
Picked up _JAVA_OPTIONS: -Duser.home=C:\Apps\Profile\Java
java version " 1.7.0_13 "
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Windows XP Professional Version 2002 Service Pack 3
A DESCRIPTION OF THE PROBLEM :
I have an swing application built in Java SE 6 and I use the jar deploy.jar to get access to the users certificate in internet explorer. In Java 6 the following code works well, but in Java 7 the same code does not work.
REGRESSION. Last worked in version 6u31
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
see example method below
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
no exception. Provider SunDeploy-MSCrypto version 1.5 should be loaded.
ACTUAL -
In Java 7 a class not found exception is raised
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread " main " java.lang.NoClassDefFoundError: com/sun/deploy/security/MSCryptoProvider
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
Caused by: java.lang.ClassNotFoundException: com.sun.deploy.security.MSCryptoProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 3 more
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public void initialiseSecurityProvider() {
try {
System.out.println(Arrays.asList(Security.getProviders()));
System.loadLibrary( " deploy " );
MSCryptoProvider provider = new MSCryptoProvider();
Security.addProvider((Provider) provider);
System.out.println(Arrays.asList(Security.getProviders()));
} catch (Exception e) {
e.printStackTrace();
}
}
---------- END SOURCE ----------
H:\>java -version
Picked up _JAVA_OPTIONS: -Duser.home=C:\Apps\Profile\Java
java version " 1.7.0_13 "
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) Client VM (build 23.7-b01, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Windows XP Professional Version 2002 Service Pack 3
A DESCRIPTION OF THE PROBLEM :
I have an swing application built in Java SE 6 and I use the jar deploy.jar to get access to the users certificate in internet explorer. In Java 6 the following code works well, but in Java 7 the same code does not work.
REGRESSION. Last worked in version 6u31
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
see example method below
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
no exception. Provider SunDeploy-MSCrypto version 1.5 should be loaded.
ACTUAL -
In Java 7 a class not found exception is raised
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread " main " java.lang.NoClassDefFoundError: com/sun/deploy/security/MSCryptoProvider
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
Caused by: java.lang.ClassNotFoundException: com.sun.deploy.security.MSCryptoProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 3 more
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public void initialiseSecurityProvider() {
try {
System.out.println(Arrays.asList(Security.getProviders()));
System.loadLibrary( " deploy " );
MSCryptoProvider provider = new MSCryptoProvider();
Security.addProvider((Provider) provider);
System.out.println(Arrays.asList(Security.getProviders()));
} catch (Exception e) {
e.printStackTrace();
}
}
---------- END SOURCE ----------