Citrix ADC

文本上的复杂操作

除了简单的字符串匹配之外,您还可以配置表达式来检查字符串长度和文本块的模式,而不是特定字符串。

对于任何基于文本的操作,请注意以下事项:

  • 对于采用字符串参数的任何操作,字符串不能超过 255 个字符。
  • 在表达式中指定字符串时,可以包含空格。

对字符串长度的操作

以下操作按字符计数提取字符串。

字符计数操作 说明
<text>.TRUNCATE(<count>) 根据<count>中的字符数截断目标末尾后返回一个字符串。如果整个字符串短于<count>,则不会返回任何内容。
<text>.TRUNCATE(<character>, <count>) 根据<count>中指定的字符数截断 <character> 后的文本返回一个字符串。
<text>.PREFIX(<character>, <count>) 选择目标中最多 <count> 次出现的最长前缀 <character>
<text>.SUFFIX(<character>, <count>) 选择目标中最多 <count> 次出现的最长后缀 <character>。例如,请考虑以下响应正文:JleWx。以下表达式返回“Jlewx”的值:http.res.body (100). 后缀 (‘L’1) 下面的表达式返回“LLEWX”:http.res.body (100)。后缀 (‘L’2)
<text>.SUBSTR(<starting_offset>, <length> 从目标对象中选择包含字符数 <length> 的字符串。在 <starting_offset> 之后开始提取字符串。如果偏移量后的字符数少于 <length> 参数的值,请选择所有剩余字符。
<text>.SKIP(<character>, <count>) 跳过最多 <count> 次出现的最长前缀 <character> 后,从目标中选择一个字符串。

对字符串的一部分进行操作

请参阅字符串操作表以了解如何通过使用其中一个操作提取较大字符串的子集。

用于比较两个字符串的字母数字顺序的操作

比较操作检查两个不同字符串的第一个不匹配字符。此操作基于词典排序顺序,这是在字典中排序术语时使用的方法。

此操作返回比较字符串中第一个不匹配字符的 ASCII 值之间的算术差异。以下差异是示例:

  • “abc”和“和”之间的区别是-1(基于第三对字符比较)。
  • “@”和“abc”之间的区别是-33。
  • “1”和“abc”之间的区别是-47。

下面是比较操作的语法。

<text>.COMPARE(<string>)

从表示文本的字节字符串中提取整数

请参阅整数提取表以了解如何将表示文本的字节字符串视为字节序列,从序列中提取 8 位、16 位或 32 位,然后将提取的位转换为整数。

将文本转换为散列值

您可以使用 HASH 函数将文本字符串转换为哈希值。此函数返回一个 31 位正整数作为操作的结果。下面是表达式的格式:

<text>.HASH

此函数忽略大小写和空格。例如,在操作之后,两个字符串 Ab c 和一个 bc 将产生相同的散列值。

通过应用 Base64 编码算法对文本进行编码和解码

以下两个函数通过应用 Base64 编码算法对文本字符串进行编码和解码

功能 说明
text.B64ENCODE 通过应用 Base64 编码算法对文本字符串(由文本指定)进行编码。
text.B64DECODE 通过应用 Base64 解码算法解码 Base64 编码的字符串(由文本指定)。如果文本不是 B64 编码格式,则操作会引发一个 UNDEF。

通过使用扩展函数在重写操作中优化搜索

扩展函数用于指定模式或模式集并以 HTTP 数据包主体为目标的重写操作。当找到模式匹配时,扩展函数将匹配字符串两侧的预定义字节数扩展搜索范围。然后,可以使用正则表达式对此扩展区域中的匹配执行重写。与仅使用正则表达式评估整个 HTTP 正文的重写操作相比,使用扩展函数配置的重写操作执行的重写操作更快。

扩展函数的格式是扩展 (m, n),其中 m 和 n 分别是在匹配模式之前和之后扩展搜索范围的字节数。当找到匹配项时,新的搜索范围包括匹配字符串之前的 m 个字节、字符串本身和字符串之后的 n 个字节。然后,可以使用正则表达式对这个新字符串的一部分执行重写。

仅当使用扩展函数的重写操作满足以下要求时,才能使用扩展函数:

  • 搜索是通过使用模式或模式集(不是正则表达式)执行的
  • 重写操作仅评估 HTTP 数据包的主体。

此外,扩展函数只能与以下类型的重写操作一起使用:

  • replace_all
  • insert_after_all
  • delete_all
  • insert_before_all

例如,您可能希望删除主体前 1000 个字节中的所有 http://exampleurl.com/http://exampleurl.au/ 实例。为此,您可以配置重写操作以搜索字符串 exampleurl 的所有实例,在找到匹配项时扩展字符串两侧的搜索范围,然后使用正则表达式在扩展区域中执行重写。以下示例将搜索范围扩展到匹配字符串的左侧 20 个字节,向右扩展 50 个字节:

add rewrite action delurl_example delete_all 'HTTP.REQ.BODY(1000)' -pattern exampleurl -refineSearch 'extend(20,50).regex_select(re#http://exampleurl.(com|au)#)'

将文本转换为十六进制格式

以下函数将文本转换为十六进制格式并提取生成的字符串:

<text>.BLOB_TO_HEX(<string>)

例如,此函数将字节字符串“abc”转换为“61:62:63”。

加密和解密文本

在默认语法表达式中,您可以使用 ENCATECT 和 DECUT 函数对文本进行加密和解密。由给定 Citrix ADC 设备或高可用性 (HA) 对上的 ENTECT 功能加密的数据旨在通过同一 Citrix ADC 设备或 HA 对上的解密功能进行解密。该设备支持 RC4、DES3、AES128、AES192 和 AES256 加密方法。加密所需的密钥值不可用户指定。设置加密方法后,设备会自动生成适用于指定方法的随机密钥值。默认方法是 AES256 加密,这是最安全的加密方法,也是 Citrix 推荐的方法。

除非要更改加密方法或希望设备为当前加密方法生成新密钥值,否则无需配置加密。

注意: 您还可以加密和解密 XML 有效负载。有关用于加密和解密 XML 负载的函数的信息,请参阅加密和解密 XML 有效负载

配置加密

在启动期间,设备默认情况下使用 AES256 加密方法运行 set ns encryptionParams 命令,并使用适用于 AES256 加密的随机生成的密钥值。设备还会加密密钥值,并将命令和加密密钥值保存到 Citrix ADC 配置文件中。因此,默认情况下,为加密和解密功能启用 AES256 加密方法。即使设备在每次重新启动时运行命令,也会在重新启动时保存在配置文件中的键值也会持续存在。

如果要更改加密方法或希望设备为当前加密方法生成新密钥值,则可以手动运行 set ns encryptionParams 命令,或使用配置实用程序。要使用 CLI 更改加密方法,请仅设置方法参数,如示例 1:更改加密方法。” 如果您希望设备为当前加密方法生成新密钥值,请将方法参数设置为当前加密方法,并将 KeyValue 参数设置为空字符串 (“”),如示例 2:为当前加密方法生成新密钥值。 生成新键值后,必须保存配置。如果不保存配置,设备将仅使用新生成的密钥值,直到下次重新启动,然后恢复为已保存的配置中的密钥值。

使用 GUI 配置加密

  1. 导航到系统 > 设置
  2. 设置区域中,单击更改加密参数。
  3. 更改加密参数对话框中,执行以下操作之一:
    • 若要更改加密方法,请在“方法”列表中选择所需的加密方法。
    • 若要为当前加密方法生成新密钥值,请单击为所选方法生成新密钥。
  4. 单击确定

使用加密和解密功能

您可以将 ENCENTECT 和 DECUT 函数与任何返回文本的表达式前缀一起使用。例如,您可以在 cookie 加密的重写策略中使用加密和解密函数。在以下示例中,重写操作会加密名为 MyCookie 的 cookie(由后端服务设置),并在客户端返回时解密相同的 cookie:

add rewrite action my-cookie-encrypt-action replace "HTTP.RES.SET_COOKIE.COOKIE("MyCookie").VALUE(0)" "HTTP.RES.SET_COOKIE.COOKIE("MyCookie").VALUE(0).ENCRYPT" -bypassSafetyCheck YES

add rewrite action my-cookie-decrypt-action replace "HTTP.REQ.COOKIE.VALUE("MyCookie")" "HTTP.REQ.COOKIE.VALUE("MyCookie").DECRYPT" -bypassSafetyCheck YES

配置用于加密和解密的策略后,请保存配置以使策略生效。

为第三方加密配置加密密钥

在默认语法表达式中,您可以使用 ENCATECT 和 DECUT 函数对请求或响应中的文本进行加密和解密。由设备(独立、高可用性或群集)上的 ENCLUT 功能加密的数据旨在由同一设备通过解密函数进行解密。该设备支持 RC4、DES、三 DES、AES92 和 AES256 加密方法,其中每种方法都使用私有密钥进行数据的加密和解密。您可以使用其中任何一种方法通过两种方式加密和解密数据-自加密和第三方加密。

设备(独立、高可用性或群集)中的自加密功能会加密数据,然后通过评估标头值来解密数据。理解这一点的一个示例是 HTTP Cookie 加密。该表达式评估标头,加密传出响应中 Set-cookie 标头中的 HTTP cookie 值,然后在来自客户端的后续传入请求的 cookie 标头中返回 cookie 值时解密 cookie 值。密钥值不是用户可配置的,而是当在 set ns encryptionParams 命令中配置加密方法时,设备会自动为配置的方法生成随机密钥值。默认情况下,命令使用 AES256 加密方法,这是高度安全的方法,Citrix 建议使用此方法。

第三方加密功能使用第三方应用程序加密或解密数据。例如,客户端可能会加密请求中的数据,并且设备在将数据发送到后端服务器之前解密数据,反之亦然。要执行此操作,设备和第三方应用程序必须共享私有密钥。在设备上,您可以使用加密密钥对象直接配置私有密钥,并且设备会自动生成密钥值以实现更强的加密。在第三方设备上手动配置相同的密钥,以便设备和第三方应用程序都可以使用相同的密钥来加密和解密数据。

注意:使用第三方加密,您还可以加密和解密 XML 有效负载。有关用于加密和解密 XML 有效负载的函数的信息,请参阅“加密和解密 XML 有效负载。

密码方法

密码方法提供两个功能:一个加密函数,用于将明文字节序列转换为密文字节序列,另一个解密函数,用于将密文转换回明文。密码方法使用称为密钥的字节序列来执行加密和解密。使用相同密钥进行加密和解密的密码方法称为对称。使用不同密钥进行加密和解密的密码方法是非对称的。非对称密码最显著的示例是公钥加密,它使用任何人都可以使用的公钥进行加密,使用只有解密程序知道的私钥。

一个好的密码方法使得如果您不拥有密钥,解密(“破解”)是不可行的。“不可行”实际上意味着破解半文将需要更多的时间和计算资源,而不是它的值。随着计算机变得更加强大和更便宜,以前不可能破解的密码变得更加可行。此外,随着时间的推移,密码方法(或其实现)中会发现缺陷,使得破解更容易。因此,较新的密码方法优先于较旧的密码方法。一般来说,长度较长的密钥比较短的密钥提供更好的安全性,代价是加密和解密时间更长。

密码方法可以使用流密码或块密码。RC4 是最安全的流密码,它仅用于旧版应用程序。块密码可以包含填充。

流密码

流密码方法在单个字节上运行。Citrix ADC- 设备上只有一个流密码可用:RC4,它使用 128 位(16 字节)密钥长度。对于给定的密钥,RC4 生成一个伪随机字节序列,调用一个键流,该键流与明文对照以生成密文。RC4 不再被认为是安全的,只应在传统应用程序需要时使用。

块密码

块密码方法在固定的字节块上运行。Citrix ADC 设备提供两个块密码:数据加密标准 (DES) 和高级加密标准 (AES)。DES 使用 8 字节的块大小和(在 Citrix ADC 设备上)两种键长度选择:64 位(8 字节),其中 56 位为数据,8 位为奇偶校验,以及 192 位(24 字节)密钥长度的三重 DES。AES 的块大小为 16 字节,并且(在 Citrix ADC 上)有三种密钥长度选择:128 位(16 个字节)、192 位(24 个字节)和 256 位(32 个字节)。

填充

如果块密码的明文本不是块的整数,则可能需要填充更多字节。例如,假设明文本是“十进制”(十六进制 78797a7a79)。对于 8 字节三 DES 块,必须填充此值才能创建 8 个字节。填充方案必须允许解密函数确定解密后原始明文的长度。下面是目前正在使用的一些填充方案(n 是添加的字节数):

  • PKCS7: 每个增加 n 个字节的值 n. 例如,78797a7a79030303。这是 OpenSSL 和加密 () 策略函数使用的填充方案。PKCS5 填充方案与 PKCS7 相同。
  • ANSI X.923:添加 n-1 个零字节和值 n 的最后一个字节。例如,78797a7a79000003。
  • ISO 10126:添加 n-1 个随机字节和值 n 的最后一个字节。例如,78797a7a79xxxx03,其中 xx 可以是任何字节值。解密 () 策略函数接受此填充方案,这也允许它接受 PKCS7 和 ANSI X.923 方案。
  • ISO/IEC 7816-4:添加一个 0x80 字节和 n-1 个零字节。例如,78797a7a79800000。这也被称为一个安全零填充。
  • 零:添加 n 个零字节。例如:78797a7a79000000。这只能用于不包含 NUL 字节的明文本。

如果使用填充并且明文是块的整数,则通常会添加额外的块,以便解密函数能够明确地确定原始明文长度。对于 PCKS7 和 8 字节块,这将是 0808080808080808。

运作模式

块密码有许多不同的操作模式,这些模式指定了多个明文块的加密方式。某些模式使用初始化向量 (IV),这是除了用于启动加密过程的明文之外的数据块。对每个加密使用不同的 IV 是一种很好的做法,以便相同的明文产生不同的密文。IV 不需要是秘密的,所以是在密文的前面。模式包括:

  • 电子代码簿 (ECB):每个明文块都是独立加密的。不使用 IV。如果明文不是密码块大小的倍数,则需要填充。相同的明文和密钥始终生成相同的密文。因此,ECB 被认为比其他模式更不安全,只应用于旧版应用程序。
  • 密码块链 (CBC):在加密之前,每个明文块都使用上一个密文块或第一个块的 IV 模块。如果明文不是密码块大小的倍数,则需要填充。这是与 Citrix ADC 加密参数方法一起使用的模式。
  • 密码反馈 (CFB):上一个密文块或第一个密文块的 IV 加密,输出与当前明文块一起转换,以创建当前密文块。反馈可以是 1 位、8 位或 128 位。由于明文本与密码文本相同,所以不需要填充。
  • 输出反馈 (OB):通过依次将密码应用于 IV 并使用明文字对键流块进行 Xoring 来生成密钥流。填充不是必需的。

为第三方加密配置加密密钥

下面是在配置加密密钥时执行的配置任务。

  1. 添加加密密钥。为具有指定密钥值的指定密码方法配置加密密钥。
  2. 修改加密密钥。您可以编辑已配置的加密密钥的参数。
  3. 取消设置加密密钥。将已配置的加密密钥的参数设置为其默认值。必须存在具有名称的加密密钥值。将填充设置为 DEFAULT(由方法确定),删除现有 IV,这会导致 ENTGENT () 生成随机 IV。删除现有注释。无法重置方法和键值。
  4. 删除加密密钥。删除已配置的加密密钥。密钥不能有任何引用。
  5. 显示加密密钥。显示已配置的加密密钥或所有已配置密钥的参数。如果省略名称,则不会显示键值。

使用 CLI 添加加密密钥

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

add ns encryptionKey <name> -method <method> [-keyValue <keyvalue>][-padding (OFF | ON)] [-iv <hexstring>] -keyValue <keyvalue> [-comment <string>]

其中,

<method> = ( NONE | RC4 | DES3 | AES128 | AES192 | AES256 | DES | DES-CBC | DES-CFB | DES-OFB | DES-ECB | DES3-CBC | DES3-CFB | DES3-OFB | DES3-ECB | AES128-CBC | AES128-CFB | AES128-OFB | AES128-ECB | AES192-CBC | AES192-CFB | AES192-OFB | AES192-ECB | AES256-CBC | AES256-CFB | AES256-OFB | AES256-ECB ) <hexstring> = hex-encoded byte sequence

上述加密方法指定了以 CBC 为默认操作模式的操作模式。因此,DES、DES2、AES128、AES192 和 AES256 方法等同于 DES-CBC、DES3-CBC、AES128-CBC、AES192-CBC 和 AES256-CBC 方法。

使用 CLI 修改加密密钥

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

set ns encryptionKey <name> [-method <method>] [-keyValue <keyvalue>] [-padding ( OFF | ON )] [-iv <string>] [-comment <string>]

使用 CLI 取消设置加密密钥

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

unset ns encryptionKey <name> [-padding] [-iv] [-comment]

使用 CLI 删除加密密钥

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

rm ns encryptionKey <name>

使用 CLI 显示加密密钥

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

示例:

show ns encryptionKey [<name>]

add ns encryptionKey my_key -method aes256 -keyValue 26ea5537b7e0746089476e5658f9327c0b10c3b4778c673a5b38cee182874711 –iv c2bf0b2e15c15004d6b14bcdc7e5e365
set ns encryptionKey my_key -keyValue b8742b163abcf62d639837bbee3cef9fb5842d82d00dfe6548831d2bd1d93476
unset ns encryptionKey my_key -iv
rm ns encryptionKey my_key
show ns encryptionKey my_key
Name: my_key
Method: AES256
Padding: DEFAULT
Key Value: (not disclosed)

使用 GUI 添加加密密钥

导航到系统 > 加密密钥,然后单击添加以创建加密密钥。

使用 GUI 修改加密密钥

导航到系统 > 加密密钥,然后单击编辑以修改已配置的加密密钥的参数。

使用 GUI 删除加密密钥

导航到系统 > 加密密钥,然后单击删除

用于第三方加密的加密和解密功能

下面是用于第三部分加密的 DEGENT 函数。

ENCRYPT (encryptionKey, out_encoding)

其中,

设备的输入数据是要加密的文本

EncryptionKey:一个可选的字符串参数,用于指定已配置的加密密钥对象以提供加密方法、私有密钥值和其他加密参数。如果省略,该方法将使用与 set ns encryptionParamS 命令关联的自动生成的密钥值。

out_encoding:此值指定输出的编码方式。如果省略,则使用 BASE64 编码。

输入:

BASE64: original PEM base64-encoding: 6 bits (0..63) encoded as one ASCII character:
                  0..23 = 'A'..'Z', 24..51 = 'a'..'z', 52..61 = '0'..'9', 62 = '+', 63 = '/', '=' = pad byte.
      BASE64URL:  URL and Filename safe base64-encoding: same as BASE64 except 62 = '-', 63 = '_'
      HEX_UPPER:  Hexadecimal with 0..9 = '0'..'9' and 10..15 = 'A'..'F'.
      HEX_LOWER:  Hexadecimal with 0..9 = '0'..'9' and 10..15 = 'a'..'f'.
      HEX_COLONS: Hexadecimal with 0..9 = '0'..'9' and 10..15 = 'A'..'F'; ':' between each hex byte. Matches BLOB_TO_HEX() output format
      HEX:  For input, accepts HEX_UPPER, HEX_LOWER, and HEX_COLONS format. For output, produces HEX_LOWER format

输出:输出是使用指定方法和密钥加密的文本,并使用指定的输出编码进行编码。它在需要 IV 的块方法和模式的加密文本之前插入生成的 IV,并且未为加密密钥指定 IV 或省略加密密钥。

下面是用于第三部分解密的解密函数。

DECRYPT(encryptionKey, in_encoding)

其中,

输入数据是使用指定方法和使用指定输入编码编码的密钥的加密文本。此文本应在需要 IV 的块方法和模式的加密文本之前包含生成的 IV,并且未为加密密钥指定 IV 或省略加密密钥。

加密密钥-一个可选的字符串参数,用于指定已配置的加密密钥对象以提供加密方法、私有密钥和其他加密参数。如果省略,将使用与加密参数设置关联的方法和自动生成的密钥

in_encoding - 一个可选枚举参数,用于指定输入的预期编码方式。这些值与加密的输出编码相同。如果省略,则需要进行 BASE64 编码。

输出数据是未编码的解密文本。

变体和可选参数

下面是具有可选参数的这些函数的变体:

变体 说明
ENCRYPT 使用加密参数命令和 BASE64 输出编码参数。
ENCRYPT(out_encoding) 使用加密参数和指定的输出编码参数。
ENCRYPT(encryptionKey) 使用指定的加密密钥和 BASE64 输出编码参数。
ENCRYPT(encryptionKey, out_encoding) 使用指定的加密密钥和输出编码参数。
DECRYPT 使用加密参数命令和 BASE64 输入编码参数。
DECRYPT(out_encoding) 使用加密参数命令和指定的输入编码参数。
DECRYPT(encryptionKey) 使用指定的加密密钥和 BASE64 输入编码参数。
DECRYPT(encryptionKey, out_encoding) 使用指定的加密密钥和输入编码参数。

配置 HMAC 密钥

Citrix ADC 设备支持哈希消息身份验证代码 (HMAC) 函数,该函数通过使用邮件发件人和邮件接收器之间共享的私有密钥来计算输入文本的摘要方法或哈希。摘要方法(源自 RFC 2104 技术)对发件人进行身份验证,并验证邮件内容是否未被更改。例如,当客户端向 Citrix ADC 设备发送带有共享 HMAC 密钥的消息时,高级 (PI) 策略表达式使用 HMAC 函数计算所选文本上的基于哈希的代码。然后,当接收器收到带有私有密钥的消息时,它将重新计算 HMAC,方法是将其与原始 HMAC 进行比较,以确定该消息是否已被更改。HMAC 功能由独立设备以及处于高可用性配置或群集中的设备支持。使用它类似于配置加密密钥。

add ns hmackey 和 set ns hmackey 命令包含一个参数,用于指定用于 HMAC 计算的摘要方法和共享私有密钥。

要配置 HMAC 密钥,必须执行以下操作:

  1. 添加 HMAC 密钥。使用指定的键值配置 HMAC 密钥。
  2. 修改 HMAC 密钥。修改已配置的 HMAC 密钥的参数。可以在不更改键值的情况下更改摘要方法,因为键值长度不是由摘要决定的。但是,建议在更改摘要时指定一个新的密钥。
  3. 取消设置 HMAC 密钥。将已配置的 HMAC 密钥的参数设置为其默认值。必须存在具有名称的 Hmackey 对象。唯一可以取消设置的参数是注释,该注释被删除。
  4. 删除 HMAC 密钥。删除已配置的密钥。密钥不能有任何引用。
  5. 显示 HMAC 密钥。显示已配置的 HMAC AC 密钥或所有已配置密钥的参数。如果省略名称,则不会显示键值。

配置唯一和随机的 HMAC 密钥

您可以自动生成唯一的 HMAC 密钥。如果设备是群集配置,则会在进程开始时生成 HMAC 密钥,并分发给所有节点和数据包引擎。这可确保 HMAC 密钥对于群集中的所有数据包引擎和所有节点都是相同的。

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

add ns hmacKey <your_key> -digest <digest> -keyValue <keyvalue>

示例:

add ns hmacKey <name> -digest sha1 -keyValue AUTO

其中,

  • 名称语法正确,并且不会重复现有密钥的名称。
  • “自动”键值可以在设置命令中使用,为现有的 EnCrytionKey 和 HMacKey 对象生成新的键。

注意:

如果 Citrix ADC 设备使用密钥加密和解密数据,或者生成和验证 HMAC 密钥,则自动密钥生成非常有用。由于密钥值本身在显示时已加密,因此您无法检索生成的密钥值供任何其他方使用。

示例:

add ns hmacKey my_hmac_key -digest sha1 -keyValue 0c753c6c5ef859189cacdf95b506d02c1797407d

上述加密方法指定了以 CBC 为默认操作模式的操作模式。因此,DES、DES2、AES128、AES192 和 AES256 方法等同于 DES-CBC、DES3-CBC、AES128-CBC、AES192-CBC 和 AES256-CBC 方法。

使用 CLI 修改 HMAC 密钥

此命令修改为 HMAC 密钥配置的参数。您可以在不更改键值的情况下更改摘要,因为键值长度不是由摘要决定的。但是,建议在更改摘要时指定一个新的密钥。在命令提示窗口中,键入:

set ns hmacKey <name> [-digst <digest>] [-keyValue <keyvalue>]
[-comment <string>]

使用 CLI 取消设置 HMAC 密钥

此命令设置为 HMAC 密钥配置的参数及其默认值。必须存在具有名称的 Hmackey 对象。唯一可以取消设置的参数是注释选项,该选项将被删除。在命令提示窗口中,键入:

unset ns hmacKey <name> -comment

使用 CLI 删除 HMAC 密钥

此命令删除配置的 hmac 密钥。密钥不能有引用。在命令提示窗口中,键入:

rm ns hmacKey <name>

使用 CLI 显示 HMAC 密钥

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

show ns encryptionKey [<name>]

add ns hmacKey my_hmac_key -digest sha1 -keyValue 0c753c6c5ef859189cacdf95b506d02c1797407d
set ns hmacKey my_hmac_key -keyValue f348c594341a840a1f641a1cf24aa24c15eb1317
rm ns hmacKey my_hmac_key
show ns hmacKey my_hmac_key
          Name: my_hmac_key
    Digest: SHA1
    Key Value: (not disclosed)