This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
示例 10:基于策略的 RSA 加密
RSA 算法使用 PKEY_ENCRYPT_PEM () 函数对 HTTP 预定义和用户定义的标头或正文内容进行加密。该函数仅接受 RSA 公钥(不接受私钥),并且加密数据的长度不能超过公钥的长度。当加密的数据短于密钥长度时,该算法使用 RSA_PKCS1 填充方法。
在示例场景中,该函数可在重写操作中与 B64ENCODE () 函数一起使用,将 HTTP 标头值替换为由 RSA 公钥加密的值。然后,接收者使用 RSA 私钥对正在加密的数据进行解密。
您可以使用重写策略来实现该功能。为此,必须完成以下任务:
- 添加 RSA 公钥作为策略表达式。
- 创建重写操作。
- 创建重写策略。
- 将重写策略绑定为全局策略。
- 验证 RSA 加密
使用 NetScaler 命令接口进行基于策略的 RSA 加密
完成以下任务,使用 NetScaler 命令界面配置基于策略的 RSA 加密。
要使用 NetScaler 命令界面将 RSA 公钥添加为策略表达式,请执行以下操作:
add policy expression pubkey '"-----BEGIN RSA PUBLIC KEY-----MIGJAoGBAKl5vgQEj73Kxp+9yn1v5gPR1pnc4oLM2a0kaWwBOsB6rzCIy6znwnvwCY1xRvQhRlJSAyJbloL7wZFIJ2FOR8Cz+8ZQWXU2syG+udi4EnWqLgFYowF9zK+o79az597eNPAjsHZ/C2oL/+6qY5a/f1z8bQPrHC4GpFfAEJhh/+NnAgMBAAE=-----END RSA PUBLIC KEY-----"'
<!--NeedCopy-->
要使用 NetScaler 命令接口添加重写操作以加密 HTTP 标头请求,请执行以下操作:
add rewrite action encrypt_act insert_http_header encrypted_data
HTTP.REQ.HEADER("data_to_encrypt").PKEY_ENCRYPT_PEM(pubkey).B64ENCODE
要使用 NetScaler 命令界面添加重写策略,请执行以下操作:
add rewrite policy encrypt_pol 'HTTP.REQ.HEADER("data_to_encrypt").EXISTS' encrypt_act
<!--NeedCopy-->
要使用 NetScaler 命令接口全局绑定重写策略,请执行以下操作:
bind rewrite global encrypt_pol 10 -type RES_DEFAULT
要使用 NetScaler 命令界面验证 RSA 加密,请执行以下操作:
>curl -v -H "data_to_encrypt: Now is the time that tries men's souls" http://10.217.24.7/`
* About to connect() to 10.217.24.7 port 80 (#0)
* Trying 10.217.24.7...
* connected
* Connected to 10.217.24.7 (10.217.24.7) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3
> Host: 10.217.24.7
> Accept: \*/\*
> data_to_encrypt: Now is the time that tries men's souls
>
< HTTP/1.1 200 OK
< Date: Mon, 09 Oct 2017 05:22:37 GMT
< Server: Apache/2.2.24 (FreeBSD) mod_ssl/2.2.24 OpenSSL/0.9.8y DAV/2
< Last-Modified: Thu, 20 Feb 2014 20:29:06 GMT
< ETag: "6bd9f2-2c-4f2dc5b570880"
< Accept-Ranges: bytes
< Content-Length: 44
< Content-Type: text/html
< encrypted_data: UliegKBJqZd7JdaC49XMLEK1+eQN2rEfevypW91gKvBVlaKM9N9/C2BKuztS99SE0xQaisidzN5IgeIcpQMn+CiKYVlLzPG1RuhGaqHYzIt6C8A842da7xE4OlV5SHwScqkqZ5aVrXc3EwtUksna7jOLr40aLeXnnB/DB11pUAE=
<
* Connection #0 to host 10.217.24.7 left intact
<html><body><h1>It works!</h1></body></html>* Closing connection #0
<!--NeedCopy-->
随后使用相同的数据执行此 curl 命令表明每次执行的加密数据都不同。这是因为填充会在要加密的数据的开头插入随机字节,从而导致每次加密的数据都不同。
>curl -v -H "data_to_encrypt: Now is the time that tries men's souls" http://10.217.24.7/`
< encrypted_data: DaOjtl1Pl4DlQKf58MMeL4cFwFvZwhjMqv5aUYM5Iyzk4UpwIYhpRvgTNu2lXEVc1H0tcR1EGC/ViQncLc4EbTurCWLbzjce3+fknnMmzF0lRT6ZZXWbMvsNFOxDA1SnuAgwxWXy/ooe9Wy6SYsL2oi1sr5wTG+RihDd9zP+P14=
>curl -v -H "data_to_encrypt: Now is the time that tries men's souls" http://10.217.24.7/
. . .
< encrypted_data: eej6YbGP68yHn48qFUvi+fkG+OiO8j3yYLScrRBU+TPQ8WeDVaWnDNAVLvL0ZYHHAU1W2YDRYb+8cdKHLpW36QbI6Q5FfBuWKZSI2hSyUvypTpCoAYcHXFv0ns+tRtg0EPNNj+lyGjKQWtFi6K8IXXISoDy42FblKIlaA7gEriY=
<!--NeedCopy-->
使用 GUI 进行基于策略的 RSA 加密
GUI 使您能够完成以下任务:
要使用 GUI 将 RSA 公钥添加为策略表达式,请执行以下操作:
- 登录 NetScaler 设备并导航到配置 > AppExpert > 高级表达式。
- 在详细信息窗格中,单击“添加”将 RSA 公钥定义为高级策略表达式。
- 在“创建表达式”页面中,设置以下参数:
- 表达式名称。高级表达式的名称。
- 表达式。使用表达式编辑器将 RSA 公钥定义为高级表达式。
- 评论。表达式的简短描述。
- 单击 Create(创建)。
要使用 GUI 添加重写操作以加密 HTTP 标头请求,请执行以下操作:
- 登录 NetScaler 设备并导航到配置 > AppExpert > 重写 > 操作。
- 在详细信息窗格中,单击“添加”以添加重写操作。
- 在“创建重写操作”屏幕中,设置以下参数:
- 名称。重写操作的名称。
- 类型。选择操作类型作为 INSERT_HTTP_HEADER。
- 使用操作类型插入标题。输入需要重写的 HTTP 标头的名称。
- 表达式。与操作相关的高级策略表达式的名称。
- 评论。重写操作的简要描述。
- 单击 Create(创建)。
要使用 GUI 添加重写高级策略,请执行以下操作:
- 登录 NetScaler 设备并导航到配置 > AppExpert > 重写 > 策略。
- 在“重写策略”页面中,单击“添加”以添加重写策略。
- 在“创建重写策略”页面中,设置以下参数:
- 名称。重写策略的名称。
- 操作。如果请求或响应与此重写策略相匹配,则要执行的重写操作的名称。
- 记录操作。请求与此策略匹配时使用的消息日志操作的名称。
- 未定义结果操作。策略评估结果未定义时要执行的操作。
- 表达式。触发操作的高级策略表达式的名称。
- 评论。重写操作的简要描述。
- 单击 Create(创建)。
要使用 GUI 全局绑定重写策略,请执行以下操作:
- 登录 NetScaler 设备并导航到配置 > AppExpert > 重写 > 策略。
- 在“重写策略”屏幕中,选择要绑定的重写策略,然后单击“策略管理器”。
- 在“重写策略管理器”页面的“绑定点”部分中,设置以下参数:
- 绑定点。将绑定点选择为“默认全局”。
- 协议。选择协议类型为 HTTP。
- 连接类型。将连接类型选择为请求。
- 单击“继续”查看“策略绑定”部分。
- 在 策略绑定 部分中,选择重写策略并设置绑定参数。
- 单击绑定。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.