Salut !
Pour la plupart de mes vhosts sous Nginx, j'ai configuré le SSL avec un certificat signé par Letsencrypt et pour un domaine particulier j'aurais souhaité restreindre son accès par un certificat client.
Vu qu'il n'est pas possible d'obtenir des certificats clients avec Letsencrypt, j'ai utilisé ma PKI pour les générer.
Dans ma configuration Nginx, j'ai laissé les paramètres SSL concernant la partie certificat serveur (letsencrypt) et plus bas, j'ai mis ces lignes :
ssl_client_certificate /etc/nginx/ssl/int-ca.chain.pem;
ssl_verify_client on;
ssl_verify_depth 1;
Petite précision, là on voit que j'ai donné le certificat de mon AC intermédiaire mais avant j'avais essayé avec le fullchain (root -> int). Mes certificats clients sont signés à partir de l'intermédiaire.
Et ben.. malheureusement ça ne marche pas! En allant sur la page, j'ai directement l'erreur 496 (SSL certificate required), mon navigateur ne me propose pas de choisir le certificat client. J'ai bien fournis à mon navigateur mon certificat client au format p12 et le fullchain y est également dans les bons magasins.
Du coup, mes questions sont :
comment le navigateur décide à quel moment faut fournir un certificat ? sur quoi il se base (dans ses vérifications), l'émetteur ? l'empreinte ?
et finalement est-ce que c'est possible d'utiliser les certificats clients malgré que le certificat serveur est celui délivré par letsencrypt ? Car je sais qu'en mettant un certificat serveur généré par ma PKI ça va fonctionner, j'ai pas essayé là mais je l'avais fait il y a longtemps.
Merci ! 🙂