SSL 错误/RSA premaster secret 错误

Posted

技术标签:

【中文标题】SSL 错误/RSA premaster secret 错误【英文标题】:SSL Error / RSA premaster secret error 【发布时间】:2013-04-05 19:44:55 【问题描述】:

有人知道 PayPal 沙箱中遇到的错误是什么问题吗?

上个月它运行良好,我们更换了服务器,IPN 停止运行。我们不确定是 PayPal 问题还是我们的问题。

在网络服务器访问日志中没有显示 PayPal IPN POST 日志条目,我们无法确定问题所在。

IPN 传递失败:I/O 错误:RSA premaster secret 错误;嵌套异常是 javax.net.ssl.SSLKeyException: RSA premaster secret error

https://developer.paypal.com/webapps/developer/applications/ipn_simulator


额外信息: 我们在一个 IP 中使用两个不同的子域和两个 SSL 证书。

示例:

https://www.example.com/ - 用于主网站(SSL 证书 A)

https://ipn.example.com/ - 用于 PayPal IPN(SSL 证书 B)

<VirtualHost x.x.x.x:443>
    ServerName ipn.example.com
    DocumentRoot "/path/to/ipn.example"

    SSLEngine on
    SSLCertificateFile "/path/to/ipn_example_com.crt"
    SSLCertificateKeyFile "/path/to/ipn_example_com.key"
    SSLCertificateChainFile "/path/to/CA1.pem"
</VirtualHost>

<VirtualHost x.x.x.x:443>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot "/path/to/www.example"

    SSLEngine on
    SSLCertificateFile "/path/to/www_example_com.crt"
    SSLCertificateKeyFile "/path/to/www_example_com.key"
    SSLCertificateChainFile "/path/to/CA2.pem"
</VirtualHost>

x.x.x.x 是一个IP地址(两个IP都一样)

【问题讨论】:

你知道客户端使用的是哪个版本的Java吗? 我认为这与您的问题无关,但如果它至少不使用Java 7,则连接到您的服务器可能会出现问题。您在服务器上使用 SNI(两个证书,相同的 IP 地址/端口),并且仅在 Java 7 之后才受支持。 【参考方案1】:

我遇到了同样的问题,似乎 IPN 模拟器无法正确处理 https。 (或者 RSA 密钥超过 1024 位可能有问题?)我无法使用模拟器,但如果我使用 Paypal 业务/消费者帐户测试所有内容(在沙箱中)并伪造购买,我确实会收到 IPN 消息发送给我的处理程序。

【讨论】:

【参考方案2】:

您可能想要设置环境变量 JAVA_EXT_DIRS 的值将是 [..]jre\lib\ext 的路径

SunTlsRsaPremasterSecret KeyGenerator not available 接受的答案可能会有所帮助

可以在网上找到的其他相关帖子:

http://forums.pentaho.com/showthread.php?78991-plm-in-4-x-javax-net-ssl-SSLKeyException-RSA-premaster-secret-error

https://issues.apache.org/jira/browse/SMX4-537

【讨论】:

您可以通过 PayPal 客户服务开票/问题吗?

以上是关于SSL 错误/RSA premaster secret 错误的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot:RSA premaster secret 错误:SunTls12RsaPremasterSecret KeyGenerator 不可用

无法使用端口 443 设置 https 站点。rsa 服务器证书公用名 (cn) 与 SSl 错误日志中的服务器名称不匹配

linuxCentOS编译程序报错 修复 ./Modules/_ssl.c:64:25: 致命错误:openssl/rsa.h:没有那个文件或目录

网站SSL证书部署失败 原因是RSA和ECC加密类型

更多 Cpp、Winsock、RSA 和 OpenSSL

mysql加密连接二mysql_ssl_rsa_setup