我在项目中使用了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)
如果我使用jre 7更新5,它会正常工作!!!我浏览了更新6的发布说明http://www.oracle.com/technetwork/java/javase/7u6-relnotes-1729681.html我找不到任何可能的原因。。
感谢您的帮助。
Java 7中针对RSA的SunPKCS11发生了更改。但我不确定上述行为是否因此而发生。
错误http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7195931在jre上打开。
Sun已经解决了这个问题。
计划在jre7u9举行。http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7195931