- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
【现象】
javax.net.ssl.SSLKeyException: RSA premaster secret error
at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:87)
at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:962)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:987)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:259)
at com.example.tool.baidu.util.HttpUtil.postGeneralUrl(HttpUtil.java:51)
at com.example.tool.baidu.util.HttpUtil.post(HttpUtil.java:34)
at com.example.tool.baidu.util.HttpUtil.post(HttpUtil.java:28)
at com.example.tool.baidu.util.HttpUtil.post(HttpUtil.java:19)
at com.example.tool.baidu.api.AccurateBasic.getSenderInfo(AccurateBasic.java:65)
at com.example.tool.area.AreaUI$2.actionPerformed(AreaUI.java:106)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.security.NoSuchAlgorithmException: SunTls12RsaPremasterSecret KeyGenerator not available
at javax.crypto.KeyGenerator.<init>(KeyGenerator.java:169)
at javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:223)
at sun.security.ssl.JsseJce.getKeyGenerator(JsseJce.java:251)
at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:78)
... 55 more
【解决方法】
d:\ocrtool1.0\jre\lib\ext目录下所有jar拷贝到d:\ocrtool1.0\lib目录下
我想知道我是否可以实例化 javax.crypto.KeyGenerator仅一次,然后在多线程环境中使用此实例。 它的 JavaDoc 文档没有说明它的线程安全性。或者使用 ThreadLocal
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 5 年前。 Improve th
当我的应用程序尝试从 JAVA 加载 RSA 算法提供程序类时遇到错误。异常堆栈如下: javax.jms.JMSException: RSA premaster secret error at or
为什么 Spring 会执行我的自定义 @Cacheable keyGenerator 两次,以用于单次调用注释为 @Cacheable 的方法,为什么不只执行一次。 我的 KeyGenerator
我正在向我的 Web 应用程序添加缓存机制。经过研究后,我决定将 Ehcache 与 Spring 一起使用。 向方法添加@Cachable注释将执行该方法一次,并且对于任何进一步的调用,将从缓存返回
RandomGenerator 应该为每个唯一种子生成唯一 key ,这是否正确? 我编写了以下代码,但对于相同的种子,它生成不同的字节数组 - 为什么? public static byte[] g
我需要在 Java 中实现 DES,我看到了有时使用 KeyGenerator 有时使用 SecretKeyFactory 生成 key 的示例,两者似乎都有效。 问题是哪种方法更好或者它们是否相同?
代码非常简单明了,但是在处抛出了异常 KeyGenerator keyGen = KeyGenerator.getInstance("RC4"); 和 Cipher aesCipher = Ciphe
我正在编写一个在 DES 中进行加密和解密的程序。加密过程中使用的相同 key 也应该在解密时使用,对吗?我的问题是加密和解密在不同的机器上运行。这就是在加密过程中生成 key 的方式。 Secret
我正在使用带有 Redis 的 spring 缓存进行缓存 我有以下方法: @CachePut(value ="DATA1", key = "#key1") public Object
我是 Android 开发新手,我尝试生成用于加密和解密的 key 并将该 key 存储在 key 存储中。但是在运行应用程序时出现以下错误。 java.security.NoSuchAlgorith
我有一个并发加密/解密程序,其中通过调用以下代码(用scala编写,Java版本应该很相似)同时随机生成多个AES128 key : private def AESKeyGen: KeyGener
我正在使用 Spring 3.1,我想使用新的缓存功能。然后,我尝试了: 但是我没有找到配置自定义 KeyGenerator 的方法。有什么想法吗? 最佳答案 Spring 3.1 RC1 中
【现象】 javax.net.ssl.SSLKeyException: RSA premaster secret error at sun.security.ssl.RSAClient
我已经问过这个问题了here但我觉得 Stackoverflow 可能会更快。这就是我尝试在我的 json 配置文件中执行此操作的方式: { "Serilog": { "Using": [
我正在编写一个 Web 服务,它允许用户从算法列表中选择一个算法并生成指定大小的 key (使用 KeyGenerator)。我无法通过 API 找到任何方法来获取指定算法的一组可能的 key 大小。
当我的缓存键在 Spring 中使用 @Cacheable 注释发生冲突时,我遇到了问题。例如,使用以下两种方法: @Cacheable("doOneThing") public void doOne
我对为什么在生成 key 加密时需要指定算法(例如“AES”)感到困惑,例如... KeyGenerator kg = KeyGenerator.getInstance("AES"); 它显然不用于指
以下所有结果都在 "java.security.NoSuchAlgorithmException: SHA not SecureRandom available" (或类似)。 SecureRando
我们目前正在尝试使用生物识别技术对数据进行签名,我们使用 androidx.biometric 库。 问题是,如果没有安装指纹但人脸已注册,我们无法生成任何 key 。 仅使用指纹或结合指纹和面部,一
我是一名优秀的程序员,十分优秀!