`
chenhua_1984
  • 浏览: 1254152 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论
阅读更多
package org.example.crypto;

import java.security.KeyStore;
import java.security.KeyStoreException;

public class LoadKeystore
{
    public static void main(String[] args) throws KeyStoreException
    {
        KeyStore keystore = KeyStore.getInstance("Windows-MY");
        System.out.println(keystore.aliases());
    }
}

 

exception 写道
Exception in thread "main" java.security.KeyStoreException: Windows-MY not found
at java.security.KeyStore.getInstance(KeyStore.java:587)
at org.example.crypto.LoadKeystore.main(LoadKeystore.java:10)
Caused by: java.security.NoSuchAlgorithmException: Windows-MY KeyStore not available
at sun.security.jca.GetInstance.getInstance(GetInstance.java:142)
at java.security.Security.getImpl(Security.java:659)
at java.security.KeyStore.getInstance(KeyStore.java:584)

 

sun 异常描述 写道
Bug ID: 6931562
Votes 0
Synopsis Support SunMSCAPI Security Provider in Windows 64-bit releases of JVM
Category jce:sunmscapi
Reported Against
Release Fixed 7(b142)
State 11-Closed, Unverified, bug
Priority: 3-Medium
Related Bugs 7035058
Submit Date 03-MAR-2010
Description 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.
http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunMSCAPI

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.

JUSTIFICATION :
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 :
EXPECTED -
The 64-bit Windows JVM implementations should provide access to the Windows-MY and Windows-ROOT keystores.
ACTUAL -
JVM indicates that it cannot locate the Windows-MY keystore.

 
跟帖 写道
Submitted On 10-MAR-2011
tomasgarciameras It's very easy to compile sunmscapi.dll as a x64 Windows DLL with Microsoft Visual Studio. It works without problems.


Submitted On 10-MAR-2011
tomasgarciameras It's very easy to compile sunmscapi.dll as a x64 Windows DLL with Microsoft Visual Studio. It works without problems.


Submitted On 10-MAR-2011
tomasgarciameras It's very easy to compile sunmscapi.dll as a x64 Windows DLL with Microsoft Visual Studio. It works without problems.

 

 

    但采用JAVA7,oracle解决了这个BUG

 

 

分享到:
评论

相关推荐

    java中控考勤机sdk对接(zkem),32位/64位,jacob,实现监听

    在本文中,我们将深入探讨如何在Java环境中使用中控考勤机SDK进行对接,并通过JACOB库实现在32位和64位系统上的监听功能。中控考勤机是一款广泛应用于企业管理中的设备,其SDK(软件开发工具包)为开发者提供了与...

    jdk-16.0.1_windows-x64_bin.exe.zip

    标题中的"jdk-16.0.1_windows-x64_bin.exe.zip"表明这是一个Java Development Kit(JDK)的安装程序,版本号为16.0.1,专为Windows操作系统设计,且适用于64位(x64)架构。JDK是Java编程语言的核心组成部分,它包含...

    java-11-openjdk-11.0.9-3.windows.redhat.x86_64.rar

    安装文件`java-11-openjdk-11.0.9-3.windows.redhat.x86_64.msi`是一个Windows平台上的 MSI 安装包,适用于64位的Red Hat系统。用户可以通过运行这个安装程序在自己的机器上安装Java 11 OpenJDK,从而进行Java编程和...

    JAVA做的仿Vista下Windows日历的日程管理软件

    1. **Java编程**:Java是一种跨平台的编程语言,其“一次编写,到处运行”的特性使得这个日程管理软件可以在多种操作系统上运行,包括Windows、Mac OS和Linux。它具有丰富的类库和API,便于开发复杂的桌面应用程序。...

    windows 64位 redis 3.2.1

    综上所述,虽然Redis官方主要支持Linux,但通过适当的工具和配置,我们可以在Windows 64位系统上搭建和使用Redis 3.2.1,享受其高效的数据存储和处理能力。在学习和实践中,理解其核心概念、数据结构、持久化机制...

    JavaService

    JavaService是一个工具,它允许Java应用程序在Windows操作系统中作为服务运行。这使得Java程序能够在系统启动时自动启动,并且在没有用户登录的情况下也能持续运行。理解JavaService的关键在于熟悉Windows服务的概念...

    jdk-18.0.2.1_windows-x64_bin.exe.zip

    《Java开发工具包(JDK)18.0.2.1 for Windows 64位详解》 Java Development Kit(JDK)是Oracle公司提供的用于开发和运行Java应用程序的重要工具包,它包含了Java编译器、Java运行环境、调试器以及其他相关工具。...

    apache-tomcat-6.0.20 windows 64 位

    总的来说,Apache Tomcat 6.0.20是Windows 64位系统上部署和管理Java Web应用的一个基础工具,它的配置灵活性、性能表现以及广泛的社区支持使其成为开发和生产环境中不可或缺的一部分。然而,为了保持系统的安全性和...

    大学期间闲的没事做的java游戏,bug较多.zip

    Java以其"一次编写,到处运行"的理念,使得开发者可以在多种操作系统上运行游戏,包括Windows、Linux和Mac OS。这使得Java游戏项目具有广泛的适用性。 游戏开发的基础是掌握面向对象编程(OOP)原则。在Java中,类...

    Java Tank

    【game.bat】是游戏的启动脚本,通常在Windows环境下,这是一个批处理文件,用于执行Java程序。它可能包含了运行Java虚拟机(JVM)的命令,如`java -jar tank.jar`,用于启动游戏的可执行文件。 【tank.jcd、tank....

    官方原版apache-tomcat-8.5.54-windows-x64.zip

    综上所述,"apache-tomcat-8.5.54-windows-x64.zip"是一个官方提供的64位Windows版本的Tomcat服务器,它为开发者提供了在Windows环境下运行和部署Java Web应用的平台。正确安装和配置后,结合其强大的社区支持,可以...

    jdk-8u311-windows-x64.rar

    这里的"jdk-8u311-windows-x64.rar"是一个针对Windows 64位操作系统的JDK版本,版本号为8u311。这个压缩包包含的主要组件和功能如下: 1. **Java运行时环境(JRE)**:JRE是执行Java应用程序所需的基础,包括Java...

    apache-tomcat-8.0.50-windows-x64.zip

    总结,"apache-tomcat-8.0.50-windows-x64.zip"是一个便捷的64位Windows版Tomcat服务器,适合开发和部署Java Web应用。了解其核心组件、配置文件、安全性和性能优化等方面的知识对于有效地管理和利用这个服务器至关...

    JavaDump分析

    JavaDump是Java虚拟机在运行时的快照,记录了Java虚拟机的状态和信息,并将其保存到一个文件中。这个文件可以用于后续的分析,以帮助开发者理解程序的运行状况,特别是当程序出现故障或者性能问题时。 JavaDump文件...

    手机JAVA模拟器 可以把手机的JAVA软件先测试后再上传到手机上

    Java模拟器是针对移动设备,特别是手机开发的一种软件工具,它允许开发者在个人电脑上模拟运行Java应用程序(通常称为J2ME或Java ME应用),而无需实际在手机上进行安装和测试。这样的模拟器为开发者提供了便利,...

    Windouws 64 位Tomcat7.0.40 + 64位jdk1.7.0u21 绿色版

    【标题】"Windouws 64 位Tomcat7.0.40 + 64位jdk1.7.0u21 绿色版" 提供的是一个专为Windows 64位操作系统设计的软件组合,包含了Apache Tomcat 7.0.40服务器和Java Development Kit (JDK) 1.7.0 Update 21的绿色免...

    java编写学校管理系统

    首先,Java是一种跨平台的编程语言,其“一次编写,到处运行”的特性使得学校管理系统可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。这为系统的广泛部署提供了便利。 1. **面向对象编程**:Java是面向...

    wrapper-windows-x86-32-3.5.30.zip

    "Wrapper-windows-x86-32-3.5.30.zip" 是一个特定版本的 Tanuki Software 的 Windows 32位系统下的 Java 应用程序Wrapper,版本号为3.5.30。这个软件的主要功能是将Java应用程序封装成可独立运行的Windows服务,使得...

    Apache-tomcat-6.0.53(Windows32位)

    Tomcat 6.0.53是这个系列的一个稳定版本,主要面向Windows 32位操作系统。 在Web开发领域,JavaWeb是指使用Java技术栈来构建Web应用程序的集合,包括Servlet、JSP、JavaServer Faces(JSF)等。Tomcat作为轻量级的...

    apache-tomcat-8.5.12-windows-x64

    在本文中,我们将深入探讨Apache Tomcat 8.5.12这一特定版本,以及它在Windows 64位操作系统上的安装和配置。 Apache Tomcat 8.5.x系列是Tomcat的长期支持版本,它提供了对Java EE 7规范的全面支持。在8.5.12版本中...

Global site tag (gtag.js) - Google Analytics