使用适用于 Android 的 Citrix Secure Access 固定的 NetScaler Gateway 证书
重要:
Citrix SSO for Android 现在称为 Citrix Secure Access。我们正在更新我们的文档和用户界面屏幕截图以反映此次名称的更改。
证书固定有助于防止中间人攻击。Citrix Secure Access 仅在 Android Enterprise 模式和传统设备管理员模式下支持对托管 VPN 配置进行证书锁定。最终用户添加的 VPN 配置文件不支持此功能。
使用 Android Citrix Secure Access 配置 NetScaler Gateway 证书固定
有关在 Citrix Secure Access 的托管配置(以前称为应用程序限制)中锁定证书的详细信息,请参阅证书和身份验证。
定义了一个新的键值对来承载固定的 NetScaler Gateway 证书哈希值,如下所示。
Key: ServerCertificatePins
Value: {
"hash-alg": "sha256",
"pinset": [
"cert1_base64_encoded_SHA-256_hash_of_the_X509_SubjectPublicKeyInfo(SPKI)",
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="
...
]
}
<!--NeedCopy-->
在托管配置中指定证书固定详细信息的密钥是 ServerCertificatePins。该值是一个 JSON 有效负载,其中包含固定的 NetScaler Gateway 证书的 base64 编码的 SHA-256 哈希值以及使用的哈希算法。固定的证书可以是操作系统验证的信任链中的任何证书。在这种情况下,它是 Android 系统。
只有在操作系统在 TLS 握手期间验证了证书链之后,才会进行证书固定。证书的 PIN 码是通过对证书的主题公钥信息 (SPKI) 进行哈希处理来计算的。必须在 JSON 负载中指定两个字段(“**hash-alg”和“pinset”**)。
“hash-alg”指定用于计算 SPKI 哈希的哈希算法。
“针脚集”指定包含 NetScaler Gateway 证书的 SPKI 数据的 base64 编码的 SHA-256 哈希值的 JSON 数组。
必须为证书 PIN 指定至少一个值。可以指定更多的引脚值以允许证书轮换或到期。
您可以使用以下 openssl 命令来计算域(例如 gw.yourdomain.com)的引脚值。
openssl s_client -servername gw.yourdomain.com -connect gw.yourdomain.com:443 | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
<!--NeedCopy-->
该命令显示网关提供的叶证书的 base64 编码的 SHA-256 哈希值。链中的任何证书都可以用于固定证书。例如,如果企业使用自己的中间 CA 为多个网关生成证书,则可以使用与中间签名证书对应的 PIN。如果所有引脚都不与经过验证的证书链中的证书匹配,则 TLS 握手将中止,并且不会继续连接到网关。
注意:
在设备管理员模式下,仅 Citrix Endpoint Management 和 Microsoft 端点管理解决方案支持证书固定。必须在旧版 VPN 配置文件(非托管配置)中使用的自定义参数中配置证书固定,并使用自定义参数 ServerCertificatePins 具有相同的 JSON 有效负载进行固定。
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
DIESER DIENST KANN ÜBERSETZUNGEN ENTHALTEN, DIE VON GOOGLE BEREITGESTELLT WERDEN. GOOGLE LEHNT JEDE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG IN BEZUG AUF DIE ÜBERSETZUNGEN AB, EINSCHLIESSLICH JEGLICHER GEWÄHRLEISTUNG DER GENAUIGKEIT, ZUVERLÄSSIGKEIT UND JEGLICHER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER.
CE SERVICE PEUT CONTENIR DES TRADUCTIONS FOURNIES PAR GOOGLE. GOOGLE EXCLUT TOUTE GARANTIE RELATIVE AUX TRADUCTIONS, EXPRESSE OU IMPLICITE, Y COMPRIS TOUTE GARANTIE D'EXACTITUDE, DE FIABILITÉ ET TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON.
ESTE SERVICIO PUEDE CONTENER TRADUCCIONES CON TECNOLOGÍA DE GOOGLE. GOOGLE RENUNCIA A TODAS LAS GARANTÍAS RELACIONADAS CON LAS TRADUCCIONES, TANTO IMPLÍCITAS COMO EXPLÍCITAS, INCLUIDAS LAS GARANTÍAS DE EXACTITUD, FIABILIDAD Y OTRAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN EN PARTICULAR Y AUSENCIA DE INFRACCIÓN DE DERECHOS.
本服务可能包含由 Google 提供技术支持的翻译。Google 对这些翻译内容不做任何明示或暗示的保证,包括对准确性、可靠性的任何保证以及对适销性、特定用途的适用性和非侵权性的任何暗示保证。
このサービスには、Google が提供する翻訳が含まれている可能性があります。Google は翻訳について、明示的か黙示的かを問わず、精度と信頼性に関するあらゆる保証、および商品性、特定目的への適合性、第三者の権利を侵害しないことに関するあらゆる黙示的保証を含め、一切保証しません。
ESTE SERVIÇO PODE CONTER TRADUÇÕES FORNECIDAS PELO GOOGLE. O GOOGLE SE EXIME DE TODAS AS GARANTIAS RELACIONADAS COM AS TRADUÇÕES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER GARANTIA DE PRECISÃO, CONFIABILIDADE E QUALQUER GARANTIA IMPLÍCITA DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO INFRAÇÃO.