AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 497843
Accepted
Matt Bear
Matt Bear
Asked: 2013-04-10 18:57:59 +0800 CST2013-04-10 18:57:59 +0800 CST 2013-04-10 18:57:59 +0800 CST

OpenSSL 握手失败

  • 772

我们最近被迫将我们的生产云服务器从 GoDaddy 迁移到 Azure,因为 GoDaddy 正在终止他们的云服务器服务。

我们的服务器之一是运行 JasperReports Bitnami 堆栈的 CentOS 5.7。在迁移过程中,我将所有服务器升级到最新的发行版,并从 Ubuntu 12.04LTS 上的 Azure Bitnami Jasper 映像重建 Jasper

A 在 JasperServer 上安装了 SSL 证书并正常工作

所有的新服务器都运行良好,现在问题来了。

我们在 GoDaddy 上也有一个专用的 CentOS 5.8 虚拟服务器(目前),该服务器上有一组站点通过 Soap 提供来自 Jasper 的报告。

但是,尝试连接时握手失败

#openssl s_client -connect newjasperserver.com:443
CONNECTED(00000003)
9092:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:583:

和:

#openssl version
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

新服务器正在运行:

#openssl version
OpenSSL 1.0.1c 10 May 2012

现在经过大量研究,OpenSSL < 0.9.8k 和 OpenSSL 1.0.1 之间似乎存在不兼容性。

我确定的选项是:

  1. 将服务器迁移到 Azure 上的 CentOS 6.4 服务器(理想,但政治上困难,不要问为什么)

  2. 就地升级服务器(不支持,我不想在生产服务器上尝试)

  3. 擦除服务器并用 6.4 重建它(可能性,但如果我这样做,我将强制选择选项 1)

  4. 从服务器上删除 OpenSSL 并安装更新版本(再一次,我在生产服务器上不适应)

  5. 安装 OpenSSL 的第二个实例(我的 #2 选项,但我不确定如何继续)

  6. 安装 OpenSSL 的替代品(甚至还没有开始研究这个)

  7. 在 Jasper 服务器上禁用强制加密并允许通过 http 连接(这看起来是我最好的临时修复,直到我可以强制将该服务器迁移到 Azure)

有什么我错过的选择吗?Jasper 端有没有办法允许来自旧版 OpenSSL 的连接?

centos5
  • 1 1 个回答
  • 10884 Views

1 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2013-12-28T00:51:18+08:002013-12-28T00:51:18+08:00

    您遇到的不兼容性是这样的:

    RHEL5 上的 OpenSSL 版本(及其衍生版本)根本没有宣传对 TLS 的支持。它只支持 SSLv3 和 SSLv2。

    RHEL6(及其衍生版本)上的 OpenSSL 版本一直支持 TLS 到 TLSv1.2。它也执行 SSLv3,但它想要协商 TLS。

    他们仍然应该能够协商会话,因为它们都有一个(小的)通用密码列表,但这取决于您为服务器上的密码设置选择的内容(例如,为了缓解 BEAST,消除低安全性密码等)可能没有客户端和服务器可以用来通信的任何通用密码。

    服务器的密码套件将设置在<Connector ciphers=您的 Tomcatserver.xml或 Apache 中(SSLCipherSuite如果您将它放在 Apache 后面)。客户端将使用它被配置为使用的任何内容,或DEFAULT以其他方式使用。

    解决方案是检查服务器上的密码套件,例如,openssl ciphers -v STRING其中 STRING 是您在服务器上配置的任何内容,并在客户端上重复相同的操作,然后调整一个或两个,直到有一个密码套件可用,两者都将协商。

    • 5

相关问题

  • 什么可能导致 MySQLD 启动速度非常慢但没有给出错误?

  • 我需要在 CentOS 5 上安装什么软件包才能获得 system-config-network X11 GUI?

  • chroot 中的 chroot

  • 如何删除 CentOS 5 上不再需要的软件包?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve