目录

简介

先决条件

要求

使用的组件

背景信息

问题

情形 1：托管服务器协商不安全的TLS

解决方案

方案 2：证书具有不受支持的签名算法

解决方案

简介

本文档介绍对以下场景进行故障排除的步骤：证书颁发机构(CA)签名的证书链上传到Finesse用于托管小工具的外部Web服务器，但小工具在您登录Finesse时加载失败，并且您看到错误“SSLPeerUnverifiedException”。

作者：Gino Schweinsberger，Cisco TAC工程师。

先决条件

要求

Cisco 建议您了解以下主题：

- SSL证书

- Finesse管理

- Windows Server管理

- 使用Wireshark进行数据包捕获分析

使用的组件

本文档中的信息基于以下软件版本：

- 统一联络中心快捷版(UCCX)11.X

- Finesse 11.X

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

以下是导致出现错误的条件：

- 假设证书信任链已上传到Finesse

- 确保重新启动了正确的服务器/服务

- 假设已使用HTTPS URL将小工具添加到Finesse布局中，并且该URL可访问

这是当代理登录到Finesse时观察到的错误：

“这个小玩意儿在制作时出了问题。javax.net.ssl.SSLPeerUnverifiedException:对等体未验证”

问题

情形 1：托管服务器协商不安全的TLS

当Finesse服务器向托管服务器发出连接请求时，Finesse Tomcat会通告其支持的加密密码列表。

由于存在安全漏洞，某些密码不受支持，

如果托管服务器选择以下任一密码，则拒绝连接：

- TLS_DHE_RSA_WITH_AES_256_CBC_SHA

- TLS_DHE_RSA_WITH_AES_128_CBC_SHA

已知这些密码在协商连接时会使用较弱的短暂Diffie-Hellman密钥，而Logjam漏洞使得这些密码不适合TLS连接。

在数据包捕获过程中执行TLS握手过程，以查看协商的密码。

1. Finesse在Client Hello步骤中显示其支持的密码列表：

2.对于此连接，TLS_DHE_RSA_WITH_AES_256_CBC_SHA在Server Hello步骤期间由托管服务器选定，因为此值在其首选密码列表中较高。

3. Finesse发送致命警报并结束连接：

解决方案

为了防止使用这些密码，必须将托管服务器配置为赋予这些密码较低的优先级，或者必须将其从可用密码列表中完全删除。这可以在Windows服务器上使用Windows组策略编辑器(gpedit.msc)完成。

注意：有关Finesse中Logjam的影响以及gpedit使用的详细信息，请查看：

方案 2：证书具有不受支持的签名算法

Windows Server证书颁发机构可以使用较新的签名标准来签署证书。即使它提供比SHA更高的安全性，在Microsoft产品之外对这些标准的采用率也很低，管理员可能会遇到互操作性问题。

Finesse Tomcat依赖于Java的SunMSCAPI安全提供程序，以支持微软使用的各种签名算法和加密功能。所有当前版本的Java（1.7、1.8和1.9）仅支持以下签名算法：

- MD5与RSA

- MD2与RSA

- NONEwithRSA

- SHA1与RSA

- 带RSA的SHA256

- 带RSA的SHA384

- 带RSA的SHA512

检查在Finesse服务器上运行的Java版本以确认该版本支持哪些算法是一个好主意。可通过以下命令从根访问检查版本：java -version

注：有关Java SunMSCAPI提供程序的详细信息，请参阅https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunMSCAPI

如果证书提供的签名不是上面列出的签名，Finesse将无法使用该证书创建与托管服务器的TLS连接。这包括使用受支持的签名类型签名的证书，这些证书由证书颁发机构颁发，这些颁发机构拥有自己的中间和根证书，这些证书颁发机构使用其他证书签名。

如果您查看数据包捕获，Finesse会使用“致命警报：证书未知"错误，如图所示。

此时必须检查托管服务器提供的证书并查找不受支持的签名算法。通常，RSASSA-PSS被视为有问题的签名算法：

如果链中的任何证书使用RSASSA-PSS签名，则连接失败。在这种情况下，数据包捕获显示根CA将RSASSA-PSS用于自己的证书：

解决方案

要解决此问题，必须从CA提供程序颁发新证书，该提供程序仅使用整个证书链中列出的受支持的SunMSCAPI签名类型之一，如前所述。

注：有关RSASSA-PSS签名算法的详细信息，请参阅https://pkisolutions.com/pkcs1v2-1rsassa-pss/

注意：此问题在缺陷CSCve中跟踪79330