首页 > 解决方案 > 无法使用销售人员 API 调用生成 DH 密钥对错误

问题描述

在 Java 8 迁移之前,我们使用了 Java 7 和 Tomcat 8,我们无法遇到任何问题。

但是在迁移到 Java 8 之后,我们遇到了错误。

Caused by: java.lang.RuntimeException: Could not generate DH keypair
        at sun.security.ssl.ECDHCrypt.<init>(ECDHCrypt.java:82)
        at sun.security.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:783)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:302)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:965)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1064)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
        ... 132 common frames omitted
Caused by: java.security.InvalidAlgorithmParameterException: parameter object not a ECParameterSpec
        at org.bouncycastle.jce.provider.JDKKeyPairGenerator$EC.initialize(Unknown Source)
        at sun.security.ssl.ECDHCrypt.<init>(ECDHCrypt.java:77)
        ... 139 common frames omitted

当我们调用 salesforce API 调用时会发生此错误。

注意:使用相同的配置(Java 8 和 Tomcat 8),我们在 DEV 环境中不会出现此错误。

任何人都可以请建议,我该如何解决这个问题?

我在堆栈溢出中发现了相同类型的问题,但仍然没有运气。

标签: javassl-certificatetomcat8

解决方案


推荐阅读