Épinglage de certificats NetScaler Gateway avec Citrix Secure Access pour Android

Important :

Citrix SSO pour Android s’appelle désormais Citrix Secure Access. Nous mettons à jour notre documentation et les captures d’écran de l’interface utilisateur pour refléter ce changement de nom.

L’épinglage de certificats aide à prévenir les attaques de type « man-in-the-middle ». Citrix Secure Access prend en charge l’épinglage de certificats uniquement pour les configurations VPN gérées en mode Android Enterprise et en mode administrateur d’appareils existants. Il n’est pas pris en charge pour les profils VPN ajoutés par l’utilisateur final.

Configurer l’épinglage de certificats NetScaler Gateway avec Android Citrix Secure Access

Pour plus d’informations sur l’épinglage des certificats dans la configuration gérée (anciennement restrictions des applications) pour Citrix Secure Access, consultez la section Certificats et authentification.

Une nouvelle paire clé-valeur est définie pour contenir les hachages du certificat NetScaler Gateway épinglé comme suit.

Key: ServerCertificatePins
Value: {
  "hash-alg": "sha256",
  "pinset": [
    "cert1_base64_encoded_SHA-256_hash_of_the_X509_SubjectPublicKeyInfo(SPKI)",
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
    "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="
    ...
  ]
}
<!--NeedCopy-->

La clé permettant de spécifier les détails d’épinglage de certificat dans la configuration gérée est ServerCertificatePins. La valeur est une charge utile JSON contenant les hachages SHA-256 codés en base64 du certificat NetScaler Gateway épinglé et de l’algorithme de hachage utilisé. Le certificat épinglé peut être n’importe lequel des certificats de la chaîne de confiance validés par le système d’exploitation. Dans ce cas, il s’agit d’Android.

L’épinglage du certificat est effectué uniquement après que le système d’exploitation a validé la chaîne de certificats lors de la prise de liaison TLS. Le code PIN du certificat est calculé en hachant les informations de clé publique d’objet du certificat (SPKI). Les deux champs (« hash-alg » et « pinset ») doivent être spécifiés dans la charge utile JSON.

Le « hash-alg » spécifie l’algorithme de hachage utilisé pour calculer le hachage SPKI. Le « pinset » indique le tableau JSON contenant le hachage SHA-256 codé en base64 des données SPKI du certificat NetScaler Gateway. Au moins une valeur doit être spécifiée pour le code PIN du certificat. D’autres valeurs de broche peuvent être spécifiées pour permettre la rotation ou l’expiration du certificat.

Vous pouvez calculer la valeur du code PIN d’un domaine (par exemple, gw.votredomain.com) à l’aide de la commande openssl suivante.

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-->

La commande affiche le hachage SHA-256 codé en base64 du certificat feuille présenté par une passerelle. N’importe quel certificat de la chaîne peut être utilisé pour l’épinglage de certificats. Par exemple, si une entreprise utilise sa propre autorité de certification intermédiaire pour générer des certificats pour plusieurs passerelles, le code PIN correspondant au certificat de signature intermédiaire peut être utilisé. Si aucune des broches ne correspond aux certificats de la chaîne de certificats validée, l’établissement de liaison TLS est interrompu et la connexion à la passerelle ne se poursuit pas.

Remarque :

En mode administrateur de périphérique, l’épinglage de certificat est pris en charge uniquement avec les solutions Citrix Endpoint Management et Microsoft Endpoint Management. L’épinglage de certificat doit être configuré dans les paramètres personnalisés utilisés dans le profil VPN hérité (configuration non gérée) avec le paramètre personnalisé ServerCertificatePins avec la même charge utile JSON pour l’épinglage.

Épinglage de certificats NetScaler Gateway avec Citrix Secure Access pour Android