A DESCRIPTION OF THE REQUEST :
JRE 1.6.0_u18, for 64-bit Windows Vista does not appear to contain the sun.security.mscapi.SunMSCAPI security provider. The classes, supporting DLL, and security provider mapping in the java.security policy file are absent.
At runtime, the security API reports that it cannot locate the Windows-MY keystore. Documentation for the SunMSCAPI Provider does not indicate that support is only available on certain Windows platforms.
The 32-bit distribution for the same version and operating system includes this feature.
If implementation is impossible, due to limitations of the host platform, treat this as a bug, for which the end product would be updated documentation to warn future engineers of the missing feature.
Provide feature consistency between JVM implementations runnable on the same host platform. Provide upgrade-path for code written against 32-bit JVM features.
EXPECTED VERSUS ACTUAL BEHAVIOR :
The 64-bit Windows JVM implementations should provide access to the Windows-MY and Windows-ROOT keystores.
JVM indicates that it cannot locate the Windows-MY keystore.
Exception in thread "main" java.security.KeyStoreException: Windows-MY not found
Caused by: java.security.NoSuchAlgorithmException: Windows-MY KeyStore not available
---------- BEGIN SOURCE ----------
public class LoadKeystore
public static void main(String args) throws KeyStoreException
KeyStore keystore = KeyStore.getInstance("Windows-MY");
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Don't upgrade to the Windows 64-bit JVM.
Use certificates from a file-based keystore. (i.e. don't use the missing feature).