J'essaie d'implémenter l'authentification mutuelle par certificat, je dois être l'autorité de certification et le serveur en même temps, générer des certificats et les signer pour les utilisateurs. et je suis ce tutoriel qui est très simple comparé aux articles compliqués sur le web, les étapes sont :
Le processus de création de votre propre autorité de certification est assez simple :
- Créer une clé privée
- S'auto-signer
- Installez root CA sur vos différents postes de travail // ????
Une fois que vous avez fait cela, chaque appareil que vous gérez via HTTPS doit simplement avoir son propre certificat créé en procédant comme suit :
- Créer un CSR pour l'appareil
- Signer CSR avec la clé CA racine /// CETTE ÉTAPE
Créez la clé racine :
openssl genrsa -out rootCA.key 2048
autosigner ce certificat.
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
Créer un certificat (fait une fois par appareil) :
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA root.pem -CAkey root.key -CAcreateserial -out device.crt -days 500
La dernière commande me donne cette erreur :
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=192.168.1.108
Error opening CA Certificate root.pem
3078969068:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('root.pem','r')
3078969068:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
unable to load certificate
Le root.pem existe dans le même dossier pourquoi n'est-il pas vu ?
De plus, les deux premières commandes m'ont donné deux fichiers, root.key
et root.pem
:
il n'y a pas de crt
fichier à donner au navigateur .
Qu'est-ce qui ne va pas ?
Réponse acceptée :
Vérifiez le nom de votre certificat. C'est incohérent (root.pem
dans une commande, rootCA.pem
dans un autre).
Vous pouvez installer le root.pem
fichier sur vos hôtes clients comme indiqué dans l'article, c'est votre certificat CA. PEM
est un format de certificat, d'autres existent. .crt
est une extension générique. Vous pouvez renommer votre certificat depuis root.pem
à root.crt
si vous le souhaitez.