« GnuPG Web Key Directory : partage de clés gpg par le web » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 2 : | Ligne 2 : | ||
[[category:security]] | [[category:security]] | ||
=Côté client= | |||
<pre> | <pre> | ||
#$ gpg --with-wkd-hash -k me@domain1.tld | #$ gpg --with-wkd-hash -k me@domain1.tld | ||
Ligne 22 : | Ligne 23 : | ||
<br><br> | <br><br> | ||
=Côté serveur= | |||
Ce wiki ne couvre que la mise a disposition de clé en WKD en direct-mode, qui nécessitera que vos clés soient accessibles à l'url <code>http://domain1.tld/.well-known/openpgpkey/hu/</code> (et réciproque avec domain2.tld).<br> | Ce wiki ne couvre que la mise a disposition de clé en WKD en direct-mode, qui nécessitera que vos clés soient accessibles à l'url <code>http://domain1.tld/.well-known/openpgpkey/hu/</code> (et réciproque avec domain2.tld).<br> | ||
Le advanced-mode est un peu plus complexe et nécessité un certificat SSL trusted (letsencrypt par exemple) pour un sous-domaine <code>openpgpkey.domain1.tld</code> (et réciproque avec domain2.tld).<br> | Le advanced-mode est un peu plus complexe et nécessité un certificat SSL trusted (letsencrypt par exemple) pour un sous-domaine <code>openpgpkey.domain1.tld</code> (et réciproque avec domain2.tld).<br> | ||
Ligne 28 : | Ligne 30 : | ||
Sur la racine de votre serveur web, créez le chemin de répertoire suivant : <code>.well-known/openpgpkey/hu/</code> <br> | Sur la racine de votre serveur web, créez le chemin de répertoire suivant : <code>.well-known/openpgpkey/hu/</code> <br> | ||
Placez ensuite un fichier vide | Placez ensuite un fichier vide dans <code>.well-known/openpgpkey/policy</code> | ||
<br><br> | <br><br> | ||
Essayez d'accéder au fichier policy via <code>http://domain1.tld/.well-known/openpgpkey/policy</code>.<br> | |||
Si cela fonctionne, modifiez la configuration de votre serveur afin de configurer le dossier <code>.well-known/openpgpkey/hu/</code> (nécessite les mods apache2 mod_mime et mod_headers): | |||
<pre> | |||
<Directory "/path/to/.well-known/openpgpkey/hu/"> | |||
ForceType application/octet-stream | |||
Header always set Access-Control-Allow-Origin "*" | |||
</Directory> | |||
</pre> | |||
Il ne vous reste plus qu'à exporter votre clé publique sur votre site web de manière qu'elle soit accessible à l'URL <code>https://domain.tld/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga</code> et <code>https://domain2.tld/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga</code> | Il ne vous reste plus qu'à exporter votre clé publique sur votre site web de manière qu'elle soit accessible à l'URL <code>https://domain.tld/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga</code> et <code>https://domain2.tld/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga</code> |
Version du 23 mai 2021 à 18:11
Côté client
#$ gpg --with-wkd-hash -k me@domain1.tld
Devrait vous retourner quelque chose ressemblant à ça :
pub rsa2048 2017-05-26 [SC] 7EBA8211BFF531EE59E25CBD99FD9BFE6F9B8951 uid [ultimate] you <me@domain1.tld> s8y7oh5xrdpu9psba3i5ntk64ohouhga@domain1.tld uid [ultimate] you2 <me@domain2.tld> s8y7oh5xrdpu9psba3i5ntk64ohouhga@domain2.tld sub rsa2048 2017-05-26 [E] sub rsa2048 2017-05-26 [S] sub rsa2048 2017-05-26 [A]
Le but est de récupérer l'ID de 32 caractères issu de l'empreinte SHA1 encodé en Z-base32 de la partie locale de l'email (avant le @). Ici l'ID est s8y7oh5xrdpu9psba3i5ntk64ohouhga (c'est le même dans les deux cas uniquement parce que les deux emails sont me@).
Côté serveur
Ce wiki ne couvre que la mise a disposition de clé en WKD en direct-mode, qui nécessitera que vos clés soient accessibles à l'url http://domain1.tld/.well-known/openpgpkey/hu/
(et réciproque avec domain2.tld).
Le advanced-mode est un peu plus complexe et nécessité un certificat SSL trusted (letsencrypt par exemple) pour un sous-domaine openpgpkey.domain1.tld
(et réciproque avec domain2.tld).
Notez que pour le direct-mode, assurez-vous que le sous-domaine openpgpkey.domain1.tld
n'existe pas et que votre dns ne répond pas aux wildcards. Si vous utilisez les wildcards, il faut insérer dans la zone dns un champt TXT RR
vide pour le sous-domaine openpgpkey
.
Sur la racine de votre serveur web, créez le chemin de répertoire suivant : .well-known/openpgpkey/hu/
Placez ensuite un fichier vide dans .well-known/openpgpkey/policy
Essayez d'accéder au fichier policy via http://domain1.tld/.well-known/openpgpkey/policy
.
Si cela fonctionne, modifiez la configuration de votre serveur afin de configurer le dossier .well-known/openpgpkey/hu/
(nécessite les mods apache2 mod_mime et mod_headers):
<Directory "/path/to/.well-known/openpgpkey/hu/"> ForceType application/octet-stream Header always set Access-Control-Allow-Origin "*" </Directory>
Il ne vous reste plus qu'à exporter votre clé publique sur votre site web de manière qu'elle soit accessible à l'URL https://domain.tld/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga
et https://domain2.tld/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga
Le plus simple est d'exporter votre clé sous le bon nom de fichier, puis de le transférer par exemple avec scp :
gpg --export me@domain1.tld > s8y7oh5xrdpu9psba3i5ntk64ohouhga