NSS不使用Java 7更新6

NSS不使用Java 7更新6,java,nss,pkcs#11,Java,Nss,Pkcs#11,在我的项目中,我将jre6与NSS(3.4.12版)一起使用,它运行良好 我最近更新了jre7更新6(2012年8月14日发布),突然应用程序停止工作,出现以下异常 java.lang.UnsatisfiedLinkError: sun.security.pkcs11.wrapper.PKCS11.C_GetOperationState(J)[B at sun.security.pkcs11.wrapper.PKCS11.C_GetOperationState(Native Method

在我的项目中,我将jre6与NSS(3.4.12版)一起使用,它运行良好

我最近更新了jre7更新6(2012年8月14日发布),突然应用程序停止工作,出现以下异常

java.lang.UnsatisfiedLinkError: sun.security.pkcs11.wrapper.PKCS11.C_GetOperationState(J)[B
    at sun.security.pkcs11.wrapper.PKCS11.C_GetOperationState(Native Method)
    at sun.security.pkcs11.P11Digest.clone(P11Digest.java:308)
    at java.security.MessageDigest$Delegate.clone(Unknown Source)
    at sun.security.ssl.HandshakeHash.cloneDigest(Unknown Source)
    at sun.security.ssl.HandshakeHash.getMD5Clone(Unknown Source)
    at sun.security.ssl.HandshakeMessage$Finished.getFinished(Unknown Source)
    at sun.security.ssl.HandshakeMessage$Finished.<init>(Unknown Source)
    at sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source)
    at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source)
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
    at sun.security.ssl.Handshaker.processLoop(Unknown Source)
    at sun.security.ssl.Handshaker.process_record(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
java.lang.UnsatifiedLinkError:sun.security.pkcs11.wrapper.pkcs11.C_GetOperationState(J)[B]
位于sun.security.pkcs11.wrapper.pkcs11.C_GetOperationState(本机方法)
位于sun.security.pkcs11.P11Digest.clone(P11Digest.java:308)
位于java.security.MessageDigest$Delegate.clone(未知源)
位于sun.security.ssl.HandshakeHash.cloneDigest(未知源)
位于sun.security.ssl.HandshakeHash.getMD5Clone(未知源)
位于sun.security.ssl.HandshakeMessage$Finished.getFinished(未知源)
在sun.security.ssl.HandshakeMessage$完成。(未知来源)
位于sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(未知源)
位于sun.security.ssl.ClientHandshaker.serverHelloDone(未知源)
位于sun.security.ssl.ClientHandshaker.processMessage(未知源)
位于sun.security.ssl.Handshaker.processLoop(未知源)
位于sun.security.ssl.Handshaker.process_记录(未知源)
位于sun.security.ssl.SSLSocketImpl.readRecord(未知源)
位于sun.security.ssl.SSLSocketImpl.performInitialHandshake(未知源)
位于sun.security.ssl.SSLSocketImpl.startHandshake(未知源)
位于sun.security.ssl.SSLSocketImpl.startHandshake(未知源)
如果我使用jre 7 update 5,它工作正常!!!我查看了update 6的发行说明,但找不到任何可能导致


非常感谢您的帮助。

在Java 7中对RSA进行了更改。但我不确定是否因此发生了上述行为。

在jre上打开的错误。

Sun已修复此问题


它计划用于jre7 u9。

当我比较更新5到6的java源代码时,我发现在更新6中,sun.security.pkcs11.wrapper.P11Digest.java新实现了clone()正在尝试调用本机方法PKCS11.C_GetOperationState,该方法也是更新6中新添加的。我不知道他们是否可以像那样添加本机方法。此外,我在更新6版本历史记录中也没有看到任何此类提及。在我看来,在jre7更新6中,PKCS11接口似乎已中断