TLS 密码组

密码组是一组算法,用于将网络通信加密。Qlik NPrinting 组件支持各种密码组,以允许不同的安全协议。

Qlik NPrinting 不会将特定安全密码组设置为强制性,以确保与不同操作系统和平台的兼容性。

Qlik NPrinting 代理密码组

代理配置参数 tls.ciphersuites 可让您在 Qlik NPrinting 代理中管理自定义的密码组集合。

代理配置文件为:

  • %ProgramData%\NPrinting\webconsoleproxy\app.conf
  • %ProgramData%\NPrinting\newsstandproxy\app.conf

这些文件包含可自定义的配置属性列表,默认都是注释掉的。如果您升级至新版本的 Qlik NPrinting,这些文件不会更改。因此,该配置属性并非在您从旧版本升级之后立即可见。这确保您不会丢失自己的设置。

限制

  • Qlik NPrinting 代理支持有限的密码组集合。列表可能在产品升级之后更改以包括新的算法或否决其他算法。
  • 一些受支持的密码组被 HTTP/2 协议视为 TLS 1.2 不安全。必须将它们置于任何未列入黑名单密码之后的自定义值列表中。否则,代理会无法启动,您将看到以下错误:

    "http2: TLSConfig.CipherSuites index %index% contains an HTTP/2-approved cipher suite (%ciphername%), but it comes after unapproved cipher suites.” 对于该配置,可能向不支持之前批准的密码组的客户端提供未批准的密码组并拒绝连接。

  • 注意 %index%%ciphername% 为变量,其将示出:
    • %index%:索引的名称。
    • %ciphername%:导致问题的密码组的名称。
  • 密码组 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256HTTP/2 RFC 所需)或 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(用于支持仅限 ECDSA 的服务器)是必需的。否则,代理会无法启动,您将看到以下错误:

    “http2:TLSConfig.CipherSuites 缺少 HTTP/2 所需的 AES_128_GCM_SHA256 密码”

支持的密码组

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_RSA_WITH_AES_128_GCM_SHA256

TLS_RSA_WITH_AES_256_GCM_SHA384

TLS_RSA_WITH_AES_128_CBC_SHA256

TLS_RSA_WITH_AES_128_CBC_SHA

TLS_RSA_WITH_AES_256_CBC_SHA

// 默认禁用基于 RC4 的密码组

TLS_RSA_WITH_RC4_128_SHA

TLS_ECDHE_RSA_WITH_RC4_128_SHA

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA

// 默认被列入黑名单

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

访问自定义密码组列表

进行以下操作:

  1. 停止 QlikNPrintingWebEngine 服务。
  2. 要自定义 Qlik NPrinting web console,打开 webconsoleproxy\app.conf。要自定义 NewsStand,打开 newsstandproxy\app.conf
  3. 取消注释或添加 tls.ciphersuites
  4. 输入逗号分隔的密码组列表以作为从最首选到最不首选的值支持。
  5. 保存文件。
  6. 重新启动 QlikNPrintingWebEngine 服务。

示例

仅设置由 RFC 7540 标准视为安全的密码组。

# 设置自定义的支持的密码组集合,从最首选到最不首选排序
tls.ciphersuites = "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"

 

Qlik NPrinting messaging service 密码组

这些是 Qlik NPrinting messaging serviceQlik NPrinting scheduler serviceQlik NPrinting Engine 之间的 TLS 通信支持的密码组。它们受 RabbitMQTLS 1.2 支持。

如果您希望对客户端证书验证禁用 TLS 连接,并使用简单的验证,请参见:为简单验证配置消息服务

限制

  • 无法自定义用于 Qlik NPrinting messaging service 的密码组。

支持的密码组

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384

TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

TLS_DHE_DSS_WITH_AES_256_GCM_SHA384

TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

TLS_DHE_DSS_WITH_AES_128_GCM_SHA256

TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

TLS_DHE_DSS_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_DHE_RSA_WITH_AES_256_CBC_SHA

TLS_DHE_DSS_WITH_AES_256_CBC_SHA

TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDH_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

TLS_DHE_RSA_WITH_AES_128_CBC_SHA

TLS_DHE_DSS_WITH_AES_128_CBC_SHA

TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDH_RSA_WITH_AES_128_CBC_SHA

故障排除

Qlik NPrinting Designer 错误“CEF 呈现请求失败,错误:发生了一个或多个错误。”

包含来自 Qlik Sense 连接的图像的报表模板预览失败并产生错误:“CEF 呈现请求失败,错误:发生了一个或多个错误。”

Possible cause  

Qlik NPrinting Server 限制了证书集和密码组,造成呈现问题。

Proposed action  

您需要启用特定密码组:

进行以下操作:

  1. 下载 IIS Crypto 2.0
  2. 以管理员权限执行它,然后转到左侧的“密码组”选项卡。

    1. 应当启用以下密码组。如果无法在列表中看到它们,单击右侧的添加按钮,然后将它们键入。
        1. 您必须在安装 Qlik NPrinting EngineQlik NPrinting Server 的计算机上启用以下项目中的至少一个:
          • TLS_RSA_WITH_AES_128_CBC_SHA
          • TLS_RSA_WITH_AES_256_CBC_SHA
          • TLS_RSA_WITH_AES_128_GCM_SHA256
          • TLS_RSA_WITH_AES_256_GCM_SHA384
        2. 您必须在安装 Qlik NPrinting Server 的计算机上启用以下项目中的至少一个:
          • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

          • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

  3. 单击确定,然后单击应用
  4. 重新启动计算机。