ECDSA 密码套件支持

ECDSA 密码套件使用椭圆曲线加密 (ECC)。由于其尺寸较小,因此在处理能力、存储空间、带宽和功耗受到限制的环境中非常有用。

以下 Citrix ADC 设备现在支持椭圆曲线数字签名算法 (ECDSA) 密码组:

  • 具有 N3 芯片的 Citrix ADC MPX 和 SDX 设备
  • Citrix ADC MPX 5900/8900/15000/26000
  • Citrix ADC SDX 8900/15000
  • Citrix ADC VPX 设备

使用 ECDHE_ECDSA 密码组时,服务器的证书必须包含支持 ECDSA 的公钥。

示例:

sh ssl cipher ECDSA

1)      Cipher Name: TLS1-ECDHE-ECDSA-AES256-SHA        Priority : 1
Description: SSLv3 Kx=ECC-DHE  Au=ECDSA Enc=AES(256)  Mac=SHA1   HexCode=0xc00a
2)      Cipher Name: TLS1-ECDHE-ECDSA-AES128-SHA        Priority : 2
Description: SSLv3 Kx=ECC-DHE  Au=ECDSA Enc=AES(128)  Mac=SHA1   HexCode=0xc009
3)      Cipher Name: TLS1.2-ECDHE-ECDSA-AES256-SHA384   Priority : 3
Description: TLSv1.2 Kx=ECC-DHE  Au=ECDSA Enc=AES(256)  Mac=SHA-384   HexCode=0xc024
4)      Cipher Name: TLS1.2-ECDHE-ECDSA-AES128-SHA256   Priority : 4
Description: TLSv1.2 Kx=ECC-DHE  Au=ECDSA Enc=AES(128)  Mac=SHA-256   HexCode=0xc023
5)      Cipher Name: TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384       Priority : 5
Description: TLSv1.2 Kx=ECC-DHE  Au=ECDSA Enc=AES-GCM(256) Mac=AEAD   HexCode=0xc02c
6)      Cipher Name: TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256       Priority : 6
Description: TLSv1.2 Kx=ECC-DHE  Au=ECDSA Enc=AES-GCM(128) Mac=AEAD   HexCode=0xc02b
7)      Cipher Name: TLS1-ECDHE-ECDSA-DES-CBC3-SHA      Priority : 7
Description: SSLv3 Kx=ECC-DHE  Au=ECDSA Enc=3DES(168) Mac=SHA1   HexCode=0xc008
8)      Cipher Name: TLS1-ECDHE-ECDSA-RC4-SHA   Priority : 8
Description: SSLv3 Kx=ECC-DHE  Au=ECDSA Enc=RC4(128)  Mac=SHA1   HexCode=0xc007
9)      Cipher Name: TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305       Priority : 9
Description: TLSv1.2 Kx=ECC-DHE  Au=ECDSA Enc=CHACHA20/POLY1305(256) Mac=AEAD   HexCode=0xcca9
Done

下表列出了配备 N3 芯片的 Citrix ADC MPX 和 SDX 设备、Citrix ADC VPX 设备、MPX 5900/26000 和 MPX/SDX 8900/15000 设备上支持的 ECDSA 密码。

密码名称 优先级 说明 密钥交换算法 身份验证算法 加密算法(密钥大小) 消息身份验证代码 (MAC) 算法 HexCode
TLS1-ECDHE-ECDSA-AES128-SHA 1 SSLv3 ECC-DHE ECDSA AES(128) SHA1 0xc009
TLS1-ECDHE-ECDSA-AES256-SHA 2 SSLv3 ECC-DHE ECDSA AES(256) SHA1 0xc00a
TLS1.2-ECDHE-ECDSA-AES128-SHA256 3 TLSv1.2 ECC-DHE ECDSA AES(128) SHA-256 0xc023
TLS1.2-ECDHE-ECDSA-AES256-SHA384 4 TLSv1.2 ECC-DHE ECDSA AES(256) SHA-384 0xc024
TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256 5 TLSv1.2 ECC-DHE ECDSA AES-GCM(128) SHA-256 0xc02b
TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384 6 TLSv1.2 ECC-DHE ECDSA AES-GCM(256) SHA-384 0xc02c
TLS1-ECDHE-ECDSA-RC4-SHA 7 SSLv3 ECC-DHE ECDSA RC4(128) SHA1 0xc007
TLS1-ECDHE-ECDSA-DES-CBC3-SHA 8 SSLv3 ECC-DHE ECDSA 3DES(168) SHA1 0xc008
TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305 9 TLSv1.2 ECC-DHE ECDSA CHACHA20/POLY1305(256) AEAD 0xcca9

重要

使用 show ns 硬件 命令来了解您的设备是否具有 N3 芯片。

示例:

sh ns hardware
              Platform: NSMPX-22000 16\*CPU+24\*IX+12\*E1K+2\*E1K+4*CVM N3 2200100
              Manufactured on: 8/19/2013
              CPU: 2900MHZ
              Host Id: 1006665862
              Serial no: ENUK6298FT
              Encoded serial no: ENUK6298FT
     Done

ECDSA/RSA 密码和证书选择

您可以同时将 ECDSA 和 RSA 服务器证书绑定到 SSL 虚拟服务器。当 ECDSA 和 RSA 证书绑定到虚拟服务器时,它会自动选择要呈现给客户端的相应服务器证书。如果客户端密码列表包含 RSA 密码,但不包含 ECDSA 密码,则虚拟服务器将显示 RSA 服务器证书。如果两个密码都存在于客户端的列表中,则显示的服务器证书取决于虚拟服务器上设置的密码优先级。也就是说,如果 RSA 具有更高的优先级,则会显示 RSA 证书。如果 ECDSA 具有更高的优先级,则 ECDSA 证书会呈现给客户端。

使用 ECDSA 或 RSA 证书进行客户端身份验证

对于客户端身份验证,绑定到虚拟服务器的 CA 证书可以是 ECDSA 或 RSA 签名的。设备支持混合证书链。例如,支持以下证书链。

客户端证书 (ECDSA) <-> CA 证书 (RSA) <-> 中间证书 (RSA) <-> 根证书 (RSA)

注意

支持仅包含以下曲线的 ECDSA 证书:

  • prime256v1
  • secp384r1
  • secp521r1(仅限 VPX)
  • secp224r1(仅限 VPX)

创建 ECDSA 证书密钥对

您可以使用 CLI 或 GUI 直接在 Citrix ADC 设备上创建 ECDSA 证书密钥对。之前,您可以在设备上安装和绑定 ECC 证书密钥对,但必须使用 OpenSSL 创建证书密钥对。

仅支持 P_256 和 P_384 曲线。

注意

此支持在所有平台上都可以使用,除了 MPX 9700/1050/12500/15500 以外。

要使用 CLI 创建 ECDSA 证书密钥对,请执行以下操作:

在命令提示窗口中,键入:

create ssl ecdsaKey <keyFile> -curve ( P_256 | P_384 ) [-keyform ( DER | PEM )] [-des | -des3] {-password } [-pkcs8]

示例:

create ecdsaKey ec_p256.ky -curve P_256 -pkcs8
Done
create ecdsaKey ec_p384.ky -curve P_384
Done

要使用 GUI 创建 ECDSA 证书密钥对,请执行以下操作:

  1. 导航到 流量管理 > SSL > SSL 文件 > 密钥 ,然后单击 创建 ECDSA 密钥
  2. 要以 PKCS #8 格式创建密钥,请选择 PKCS8