Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| certificats [2017/08/23 14:38] – [Signature PDF intégrée] florian | certificats [2025/12/05 09:05] (Version actuelle) – [Installation] florian | ||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| ===== Certificat SSL (HTTPS dans apache) ===== | ===== Certificat SSL (HTTPS dans apache) ===== | ||
| - | Ce certificat est destiné à encrypter | + | Ce certificat est destiné à chiffrer |
| ==== Certificats de confiance ==== | ==== Certificats de confiance ==== | ||
| Ligne 12: | Ligne 12: | ||
| Un certificat est dit de confiance si le navigateur (qui va vérifier la validité du certificat) connait l' | Un certificat est dit de confiance si le navigateur (qui va vérifier la validité du certificat) connait l' | ||
| - | Nous vous conseillons Comodo comme fournisseur de certificat SSL environ 80 euros /an si vous le prenez pour 3 ans. | + | Nous vous conseillons Comodo comme fournisseur de certificat SSL pour environ 80 euros /an si vous le prenez pour 3 ans. |
| Pré-Requis : | Pré-Requis : | ||
| Ligne 34: | Ligne 34: | ||
| ==== Certificats auto-signé ==== | ==== Certificats auto-signé ==== | ||
| - | Il faut installer la dernière version d' | ||
| - | Un certificat auto-signé est un certificat que vous générez vous-même. Il est important de noter qu'il n'est en rien (à attributs équivalents) moins protecteur qu'un certificat émis par une autorité certifiée. MAIS il ne sera pas connu des navigateurs des clients. Ces derniers seront invités à reconnaitre explicitement votre certificat comme étant de confiance. | + | <WRAP center round info 60%> |
| + | La version d' | ||
| + | |||
| + | La section suivante a été mise-à-jour pour en tenir compte. Si votre certificat a été généré avec une taille de clé de 1024 bits, veuillez le re-générer. | ||
| + | </ | ||
| + | |||
| + | Donc, au moins à partir de Apache 2.4.36 il est nécessaire d' | ||
| + | Vous pouvez trouvez des binaires pour windows ici: https:// | ||
| + | |||
| + | Pour rappel, un certificat auto-signé est un certificat que vous générez vous-même. Il est important de noter qu'il n'est en rien (à attributs équivalents) moins protecteur qu'un certificat émis par une autorité certifiée. MAIS il ne sera pas connu des navigateurs des clients. Ces derniers seront invités à reconnaitre explicitement votre certificat comme étant de confiance. | ||
| + | |||
| + | Génération de la clé publique (le certificat) et de la clé privée: | ||
| + | < | ||
| + | openssl req -x509 -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.crt -sha256 -days 3650 | ||
| + | </ | ||
| + | |||
| + | === Ancienne procédure (Obsolète) === | ||
| + | <WRAP center round important 60%> | ||
| + | Cette section est conservée à titre d' | ||
| + | </ | ||
| On va tout d' | On va tout d' | ||
| Ligne 43: | Ligne 61: | ||
| </ | </ | ||
| - | mydomain est à remplacer préférablement par l'url d' | + | //mydomain// est à remplacer préférablement par l'url d' |
| On nous demande de saisir une "pass phrase" | On nous demande de saisir une "pass phrase" | ||
| Ligne 54: | Ligne 71: | ||
| // | // | ||
| - | Puisque c'est auto-signé, | + | A partir de cette demande |
| < | < | ||
| openssl x509 -req -days 730 -in mydomain.csr -signkey mydomain.key -out mydomain.crt | openssl x509 -req -days 730 -in mydomain.csr -signkey mydomain.key -out mydomain.crt | ||
| Ligne 76: | Ligne 92: | ||
| * Un fichier contenant le certificat (et sa clé publique) au format .crt | * Un fichier contenant le certificat (et sa clé publique) au format .crt | ||
| - | * Un fichier contenant la clé privée "décryptée" ((une clé privée étant protégée | + | * Un fichier contenant la clé privée "déchiffrée" ((une clé privée étant |
| Dans le fichier de configuration Apache (Ex: C: | Dans le fichier de configuration Apache (Ex: C: | ||
| Ligne 87: | Ligne 103: | ||
| </ | </ | ||
| - | Localisez la ligne suivante et décommentez-là (= enlevez le signe # qui la précède) | + | Localisez la ligne suivante et décommentez-là (enlevez le signe # qui la précède) |
| < | < | ||
| LoadModule ssl_module modules/ | LoadModule ssl_module modules/ | ||
| </ | </ | ||
| - | En fin de fichier, après les définitions d' | + | En fin de fichier, après les définitions d' |
| < | < | ||
| - | NameVirtualHost 192.168.XXX.XXX: | + | < |
| - | < | + | DocumentRoot |
| - | DocumentRoot | + | |
| - | ServerName 192.168.XXX.XXX | + | |
| SSLEngine On | SSLEngine On | ||
| - | SSLOptions | + | SSLOptions +ExportCertData +StrictRequire |
| - | SSLCertificateFile | + | SSLCertificateFile |
| - | SSLCertificateKeyFile | + | SSLCertificateKeyFile |
| </ | </ | ||
| </ | </ | ||
| Ligne 128: | Ligne 143: | ||
| ==== Signature PDF intégrée ==== | ==== Signature PDF intégrée ==== | ||
| - | Avec cette méthode les fichiers PDF sont signés et la signature est incluse dans le PDF. | + | Avec cette méthode les fichiers PDF sont signés et la signature est incluse dans le PDF.\\ |
| - | \\Elle fonctionne avec un fichier au format PKCS12 (extension .p12 ou .pfx). | + | Elle fonctionne avec un fichier au format PKCS12 (extension .p12 ou .pfx). |
| - | Ce type de fichiers embarque à la fois le certificat et la clé privé | + | Ce type de fichiers embarque à la fois le certificat et la clé privée |
| - | Pour signer les PDF, avec signature incluse | + | La configuration |
| - | Dans votre fichier | + | |
| < | < | ||
| + | [ezged] | ||
| | | ||
| | | ||
| Ligne 141: | Ligne 156: | ||
| | | ||
| </ | </ | ||
| + | |||
| + | La paramètre **// | ||
| + | sous la forme d'un tampon. Si elle n' | ||
| + | de la présence d'une signature. | ||
| + | |||
| + | === Problème connu === | ||
| + | |||
| + | Si après la mise en place de la signature vos travaux de COLD tombent en erreur à l' | ||
| + | est l' | ||
| + | est bien installé. | ||
| + | |||
| + | {{wiki: | ||
| ==== Signature détachée ==== | ==== Signature détachée ==== | ||
| Elle concerne tout type de fichiers (les PDF aussi). Elle se présente sous la forme d'un fichier au format PKCS7 (extension .p7s) | Elle concerne tout type de fichiers (les PDF aussi). Elle se présente sous la forme d'un fichier au format PKCS7 (extension .p7s) | ||
| Ligne 178: | Ligne 205: | ||
| Les chemins sont à adapter selon votre cas. | Les chemins sont à adapter selon votre cas. | ||
| - | ====== | + | <WRAP center round tip 60%> |
| + | Utilisez le mode '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | Si par exemple vous obtenez une erreur semblable à celle ci-dessous au moment d' | ||
| + | < | ||
| + | Error outputting keys and certificates | ||
| + | 083B0000: | ||
| + | </ | ||
| + | |||
| + | Dans ce cas ajoutez l' | ||
| + | < | ||
| + | openssl pkcs12 -legacy -in moncertificat.p12 -clcerts -nokeys -out moncertificat.crt | ||
| + | </ | ||
| + | ====== | ||
| + | |||
| + | Ce message d' | ||
| + | |||
| + | Solution: | ||
| + | Récupérer le ca-bundle: (ne fonctionne pas pour les certificats auto-signé) | ||
| + | exemple sur un certificat comodo (setigo): | ||
| + | |||
| + | utilisez un navigateur à jour (ex: Firefox), allez sur l'url de l' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | cliquez sur connexion sécurisée, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | une fenêtre s' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Cette action ouvre une page web, cliquer sur télécharger: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Enregistrer le fichier sous le nom de (name).ca-bundle.crt et édité le avec votre éditeur de texte préféré. | ||
| + | Supprimer le premier bloc. Ce bloc correspond a votre certificat. Les autres blocs représentent la chain. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Placez ce fichier dans votre dossier apache où ce situe les autres *.crt | ||
| + | |||
| + | Éditez votre fichier httpd.conf | ||
| + | |||
| + | Cherchez votre bloc où vous déclarez les certificats. | ||
| + | Ajoutez la ligne: SSLCertificateChainFile {votre path du ca-bundle}.ca-bundle.crt | ||
| + | |||
| + | < | ||
| + | NameVirtualHost 192.168.XXX.XXX: | ||
| + | < | ||
| + | DocumentRoot c:/ | ||
| + | ServerName 192.168.XXX.XXX | ||
| + | SSLEngine On | ||
| + | SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire | ||
| + | SSLCertificateFile c:/ | ||
| + | SSLCertificateKeyFile c:/ | ||
| + | SSLCertificateChainFile c:/ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | pour conclure redémarrer apache. | ||
| + | |||
| + | |||
| + | ====== Certificats et applications mobiles ====== | ||
| + | |||
| + | Lorsque EzGED doit être accessible depuis une application mobile il convient de s' | ||
| + | que le certificat TLS installé sur le serveur soit accepté | ||
| + | |||
| + | Liste des certificats racines de confiance pour: | ||
| + | * Les OS Apple https:// | ||
| + | * Android : pas de liste officielle | ||
| + | |||
| + | |||
| + | ====== Memo OpenSSL ====== | ||
| + | |||
| + | ===== Convertir un DER en PEM ===== | ||
| + | |||
| + | < | ||
| + | openssl x509 -inform der -in moncertificat.der -out moncertificat.crt | ||
| + | </ | ||