aeris ☣ 🇫🇷 @aeris

Sujet de philo bac 2019 : un certificat auto-signé, étant de facto CA d’une PKI réduite à lui-même, doit-il avoir les attributs « CA:true » « KeyUsage: keyCertSign » et « NetscapeCertType:sslCA » ou pas ? 😂

@aeris
Heu.... Regarde le certificat snakeoil généré par une distribution Linux ?

@ScriptFanix Prosody semble nécessiter ces paramètres. Je ne peux pas le lui reprocher, car effectivement un certificat sans keyCertSign par exemple n’est pas supposé signer un certificat. Donc pas lui-même. Donc pas valide.

@ScriptFanix Idem, en théorie la racine d’une chaîne de validation est supposé avoir « CA:true ». Ce qui n’est pas le cas des snakeoil.

@aeris
Je crois que si tu mets ca:true, tu ne peux plus t'en servir pour un Key exchange. Mais je suis pas sûr, ça fait loin que j'ai pas joué avec ça

@aeris
Ouais ba je fais ce que je peux, j'ai eu 4 en philo au bac...

Alors en fait, on peut résumer le problème à keyCertSign uniquement si on a de la chance, CA:true étant alors impliqué.

(Et donc NetscapeCertType:sslCA à sa suite)

Et donc la réponse correcte semble être
« Si tu définies l’extension keyUsage, alors pour un autosigné, il faut a minima keyCertSign (pour la signature du certificat) et digitalSignature (pour la signature du handshake). Et donc ça implique CA:true à cause de keyCertSign. Et donc si tu définis l’extension nsCertType, tu dois aussi y indiquer sslCA. »
Et du coup, des toooooooooooooooonnes d’implémentation TLS sont foireuses car trop laxistes !