Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
certificats [2017/08/23 14:52] florian [Signature PDF intégrée] |
certificats [2024/12/27 11:06] (Version actuelle) florian [Utilisation de OpenSSL] |
||
---|---|---|---|
Ligne 139: | Ligne 139: | ||
digisign = 1 | digisign = 1 | ||
</code> | </code> | ||
+ | |||
+ | La paramètre **//pdfsignp12mask//** indique si oui (1) ou non (0) la signature doit être masquée, c'est-à-dire ne pas apparaître visuellement sur le fichier PDF | ||
+ | sous la forme d'un tampon. Si elle n'apparaît pas visuellement la plupart des visionneur PDF notifierons toutefois | ||
+ | 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'étape de stockage, qui | ||
+ | est l'étape durant laquelle le fichier sera signé, vérifiez que le framework .Net 3.5, dont dépend l'outil de signature, | ||
+ | est bien installé. | ||
+ | |||
+ | {{wiki:install_net35_win2012.png?800x496}} | ||
==== 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 176: | Ligne 188: | ||
Les chemins sont à adapter selon votre cas. | Les chemins sont à adapter selon votre cas. | ||
- | ====== Le certificat client pour signer au coup par coup les documents ====== | + | <WRAP center round tip 60%> |
+ | Utilisez le mode ''legacy'' si vous rencontrez des erreurs de compatibilité entre votre version d'OpenSSL et celle du fichier p12. | ||
+ | </WRAP> | ||
+ | |||
+ | |||
+ | Si par exemple vous obtenez une erreur semblable à celle ci-dessous au moment d'exporter le certificat: | ||
+ | <code> | ||
+ | Error outputting keys and certificates | ||
+ | 083B0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:../openssl-3.1.2/crypto/evp/evp_fetch.c:341:Global default library context, Algorithm (RC2-40-CBC : 0), Properties () | ||
+ | </code> | ||
+ | |||
+ | Dans ce cas ajoutez l'option ''-legacy'' à vos commandes. Exemple: | ||
+ | <code> | ||
+ | openssl pkcs12 -legacy -in moncertificat.p12 -clcerts -nokeys -out moncertificat.crt | ||
+ | </code> | ||
+ | ====== Message d'erreur "the ssl connection could not be established see inner exception" sur l'application mobile Android. ====== | ||
+ | |||
+ | Ce message d'erreur est affiché lorsque que le certificat racine (ca-bundle) est expiré. | ||
+ | |||
+ | 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'application et cliquez sur le cadenas | ||
+ | |||
+ | {{:ssl.png?400|}} | ||
+ | |||
+ | cliquez sur connexion sécurisée, ensuite sur plus d'information | ||
+ | |||
+ | {{:ssl2.png?400|}} | ||
+ | |||
+ | une fenêtre s'affiche contenant des informations, cliquez sur Afficher le certificat | ||
+ | |||
+ | {{:ssl3.png?400|}} | ||
+ | |||
+ | Cette action ouvre une page web, cliquer sur télécharger: PEM (chain) | ||
+ | |||
+ | {{:ssl4.png?400|}} | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{:ssl5.png?400|}} | ||
+ | |||
+ | 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 | ||
+ | |||
+ | <code> | ||
+ | NameVirtualHost 192.168.XXX.XXX:443 | ||
+ | <VirtualHost 192.168.XXX.XXX:443> | ||
+ | DocumentRoot c:/nchp/usr/local/nchp/ezged/www | ||
+ | ServerName 192.168.XXX.XXX | ||
+ | SSLEngine On | ||
+ | SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire | ||
+ | SSLCertificateFile c:/nchp/etc/nchp/ezged/mydomain.crt | ||
+ | SSLCertificateKeyFile c:/nchp/etc/nchp/ezged/mydomain.key | ||
+ | SSLCertificateChainFile c:/nchp/etc/nchp/ezged/myname.ca-bundle.crt | ||
+ | </VirtualHost> | ||
+ | </code> | ||
+ | |||
+ | pour conclure redémarrer apache. | ||
+ | |||
+ | |||
+ | ====== Certificats et applications mobiles ====== | ||
+ | |||
+ | Lorsque EzGED doit être accessible depuis une application mobile il convient de s'assurer | ||
+ | que le certificat TLS installé sur le serveur soit accepté par les OS mobiles donc principalement par iOS et Android. | ||
+ | |||
+ | Liste des certificats racines de confiance pour: | ||
+ | * Les OS Apple https://support.apple.com/fr-fr/HT209143 | ||
+ | * Android : pas de liste officielle | ||
+ | |||
+ | |||
+ | ====== Memo OpenSSL ====== | ||
+ | |||
+ | ===== Convertir un DER en PEM ===== | ||
+ | |||
+ | <code> | ||
+ | openssl x509 -inform der -in moncertificat.der -out moncertificat.crt | ||
+ | </code> |