Les parameters du certificate client peuvent-ils être configurés dans le fichier web.config?

Je travaille avec une application SSL et je veux contrôler les dossiers à ignorer, à exiger ou à accepter les certificateions client.

L’objective final est de faire en sorte qu’un sous-dossier de l’application Web ignore la certificateion du client. Je ne veux pas faire cela via IIS car il devra être répliqué sur toute la batterie de serveurs Web.

Des idées?

Vous pouvez utiliser une combinaison de la section d’ access et des locations dans web.config (ou web.configs dans les sous-répertoires appropriés) pour configurer cela.

Par exemple, pour exiger un certificate SSL dans l’interface d’annuaire, vous pouvez append le bloc suivant à la section de configuration de votre web.config:

         

REMARQUE: comme @Jonathan DeMarks l’a déclaré dans son commentaire, j’ai également dû inclure SslNegotiateCert pour que cela fonctionne (avec IIS 8.5 et Chrome). Donc, la configuration de travail pour moi est la suivante: sslFlags="Ssl,SslRequireCert,SslNegotiateCert" En fait, j’ai eu une erreur indiquant que je spécifiais SslRequireCert mais que je pouvais utiliser SslNegotiateCert .

Notez que si vous souhaitez exiger Ssl, vous devez l’append, ainsi que l’indicateur de certificate approprié.

Les valeurs de drapeau de la documentation de technet sont:

Aucun. Ce paramètre par défaut désactive SSL pour le site ou l’application.

Ssl. Le site ou l’application nécessite SSL.

SslNegotiateCert. Le site ou l’application accepte les certificates clients pour l’authentification.

SslRequireCert. Le site ou l’application nécessite des certificates clients pour l’authentification. Ssl128. Le site ou l’application nécessite un cryptage de certificate SSL 128 bits.

TOUTEFOIS

La section d’ access ne peut pas être remplacée par défaut.

Pour ce faire, vous devez modifier applicationHost.config dans C: \ Windows \ System32 \ inetsrv \ config (ou le répertoire approprié pour votre installation) et modifier la ligne suivante:

 

à: