2 votes

OpenVPN - tentative de validation de la CRL sur le certificat du client

J'utilise OpenVPN sur un routeur matériel fonctionnant sous OpenWRT. A chaque fois qu'un client se connecte, j'obtiens l'erreur suivante dans les logs :

VERIFY WARNING: depth=0, unable to get certificate CRL

J'ai une autorité de certification à deux niveaux dont les deux niveaux publient des CRL et la CRL fusionnée est disponible sur le routeur et OpenVPN l'utilise.

Je ne comprends pas pourquoi OpenVPN essaie d'obtenir la CRL à la profondeur 0, qui est le certificat du client. Il ne se plaint pas des profondeurs 1 et 2, ce qui indique que mon fichier CRL est correct...

1voto

nachopro Points 181

Il semble que les versions ultérieures d'OpenVPN ne comprennent pas plusieurs CRLs encodées en PEM dans un seul fichier.

Si vous modifiez votre fichier CRL de manière à ce qu'il ne contienne que la CRL de l'autorité de certification émettrice du certificat du client, vous verrez que vous n'obtiendrez pas d'erreurs pour les éléments suivants depth=0 et obtiendra à la place une erreur pour depth=1 . Vous obtiendrez probablement les mêmes résultats si vous intervertissez l'ordre des LCR dans votre fichier actuel.

Pour résoudre ce problème sur les versions ultérieures d'OpenVPN, vous devez utiliser l'option --capath :

--capath dir

Répertoire contenant des certificats de confiance (CA et CRL). Non disponible avec mbed TLS.

Placez tous vos certificats d'autorité de certification et les LCR générées par vos autorités de certification dans un répertoire pointé par l'option --capath option. N'oubliez pas de retirer le --ca option .

Exécuter c_rehash <path to certs and CRLs> pour générer un hachage des certificats et de leurs LCR.

Redémarrez OpenVPN et vous devriez constater que vos journaux sont dépourvus d'avertissements CRL.

Nota: Vous ne devriez jamais recevoir d'avertissement de LCR pour depth=2 (votre autorité de certification racine) car il s'agira d'un certificat auto-signé et une CRL pour l'un d'entre eux est inutile car il serait signé par lui-même. Mais il semble que si vous omettez la CRL de l'autorité de certification racine, elle affiche un avertissement de vérification pour elle-même ( depth=2 ) ainsi que le certificat qu'elle a délivré (l'autorité de certification intermédiaire à depth=1 ). Il ne devrait afficher un avertissement que pour ce dernier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X