Android搭載のCitrix Gateway証明書ピンニング Citrix SSO
証明書のピン留めは、中間者攻撃の防止に役立ちます。Citrix SSOは、Android Enterprise モードおよびレガシーデバイス管理者モードの管理対象VPN構成でのみ証明書ピン接続をサポートします。エンドユーザによって追加された VPN プロファイルではサポートされません。
Android Citrix SSOでCitrix Gateway証明書ピンニングを構成する
Citrix SSOの管理対象構成(以前のアプリの制限)での証明書のピン留めについて詳しくは、「 証明書と認証」を参照してください。
固定されたCitrix Gateway 証明書ハッシュを伝送するために、新しいキーと値のペアが次のように定義されます。
Key: ServerCertificatePins
Value: {
"hash-alg": "sha256",
"pinset": [
"cert1_base64_encoded_SHA-256_hash_of_the_X509_SubjectPublicKeyInfo(SPKI)",
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="
...
]
}
<!--NeedCopy-->
管理対象構成で証明書ピン留めの詳細を指定するためのキーは ServerCertificatePinsです。この値は、固定されたCitrix Gateway 証明書のbase64でエンコードされたSHA-256ハッシュと使用されるハッシュアルゴリズムを運ぶJSONペイロードです。固定証明書には、オペレーティングシステムによって検証された信頼チェーン内の任意の証明書を使用できます。この場合、それはAndroidです。
証明書のピン留めは、オペレーティングシステムが TLS ハンドシェイク中に証明書チェーンを検証した後にのみ実行されます。証明書の PIN は、証明書のサブジェクト公開キー情報 (SPKI) をハッシュすることによって計算されます。JSON ペイロードには、両方のフィールド ( 「hash-alg」と「pinset」) を指定する必要があります。
「hash-alg」は、SPKI ハッシュの計算に使用されるハッシュアルゴリズムを指定します。
「ピンセット」は、Citrix Gateway 証明書のSPKIデータのbase64でエンコードされたSHA-256ハッシュを含むJSON配列を指定します。
証明書の PIN には少なくとも 1 つの値を指定する必要があります。証明書のローテーションまたは有効期限を許可するために、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 を使用できます。検証済みの証明書チェーン内の証明書と一致する PIN がない場合、TLS ハンドシェイクは中止され、ゲートウェイへの接続は続行されません。
注:
デバイス管理者モードでは、証明書のピン留めは、Citrix Endpoint ManagementおよびMicrosoft Endpoint Managementソリューションでのみサポートされます。証明書のピン留めは、レガシー VPN プロファイル(管理対象設定ではない)で使用されるカスタムパラメータで、固定用の同じ JSON ペイロードを持つカスタムパラメータ serverCertificatePins で設定する必要があります。
このコンテンツの正式なバージョンは英語で提供されています。Citrixドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Citrixは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCitrix製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCitrixとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Citrixは責任を負わないものとします。
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.