WireGuard Keys & Peers
WireGuard & Curve25519 Cryptographic Suite

Guide Développeur : Générateur de Paires de Clés et Configuration de Pairs WireGuard

Générez des paires de clés publiques et privées Curve25519, des clés pré-partagées (PSK) et des blocs de configuration de pairs WireGuard dans le navigateur.

100% Client-Side Privacy
Curve25519 ↔ wg0.conf & wg-client.conf
Préréglages :
Interface Parameters & Cryptographic Handshake Options
UDP 51820•2 Peers
Configured Peers:
Work Laptop(10.8.0.2/32)
iPhone Roaming(10.8.0.3/32)
Définitions des pairs et saisie des clés2 Peers
# =========================================================
# WireGuard Client Configuration for: Work Laptop
# Save to /etc/wireguard/wg0-client.conf or import into app
# =========================================================

[Interface]
PrivateKey = qIOQti92akyvcSrNxKmDGmOTOqZpyCNpIiRCU1AqIFI=
Address = 10.8.0.2/32, fd86:ea04:1115::2/128
DNS = 1.1.1.1, 8.8.8.8
MTU = 1420

[Peer]
PublicKey = WkT9aMOtAuXEg5bG2/PvXSNJ90Fcf4UejCPG7Fmfs2U=
PresharedKey = WYf+0IeaWwZX2zdozh+ujBc32PJ2NCPhB7vG1OmlluE=
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
Pairs actifs
2 Client Peers
10.8.0.1/24, fd86:ea04:1115::1/64
Clés Curve25519
3 RFC 7748 Keypairs
256-bit ECDH Clamped
Tunnel WireGuard
PSK Hardened (256-bit)
Port 51820 • MTU 1420

Génération de clés Curve25519

Multiplication scalaire Diffie-Hellman sur courbe elliptique RFC 7748 X25519 pure calculée localement sans transmission serveur.

Exécution Zero-Knowledge dans le navigateur

Toutes les clés privées, clés pré-partagées et configurations d'endpoint restent strictement dans la mémoire de votre navigateur.

Compatible WireGuard multiplateforme

Exportation instantanée pour Linux wg-quick, macOS, Windows, scan QR Android/iOS et déploiements Docker Compose.

Référence technique et guide d'architecture

Guide Développeur : Générateur de Paires de Clés et Configuration de Pairs WireGuard — Guide de référence

Générez des paires de clés publiques et privées Curve25519, des clés pré-partagées (PSK) et des blocs de configuration de pairs WireGuard dans le navigateur.

Paramètres clés et contrôles

PrivateKeyBase64 (32 octets Curve25519)

Clé privée secrète utilisée pour le déchiffrement de l'interface locale et l'authentification de session WireGuard.

Par défaut : Générée automatiquement
PublicKeyBase64 (32 octets Curve25519)

Clé publique dérivée mathématiquement de la clé privée par multiplication scalaire X25519, partagée avec les pairs.

Par défaut : Dérivée
PresharedKey (PSK)Base64 (32 octets symétrique)

Clé pré-partagée symétrique optionnelle de 256 bits conférant une résistance post-quantique hybride au tunnel.

Par défaut : Optionnel
AllowedIPsListe CIDR

Filtre de routage cryptographique définissant les plages IP autorisées via le tunnel (0.0.0.0/0 pour tunnel complet).

Par défaut : 0.0.0.0/0, ::/0
EndpointHôte / IP:Port

Adresse IPv4/IPv6 publique ou nom de domaine FQDN et port d'écoute UDP du pair distant.

Par défaut : vpn.example.com:51820
PersistentKeepaliveEntier (secondes)

Intervalle en secondes d'émission des paquets keepalive pour maintenir les sessions de pare-feu NAT actives.

Par défaut : 25

Conseils de pro et bonnes practices

Isolation cryptographique pure côté client

Toutes les paires de clés Curve25519 et clés PSK sont générées localement via l'API WebCrypto du navigateur, sans aucun transfert réseau de clés privées vers un serveur tiers.

Sécurité post-quantique par clé pré-partagée (PSK)

Associer Curve25519 à une clé PSK symétrique de 256 bits crée un tunnel hybride post-quantique, protégeant vos données même face aux futures attaques basées sur l'algorithme de Shor.

Cryptokey Routing et stricte séparation d'AllowedIPs

WireGuard applique le Cryptokey Routing associant clé publique et AllowedIPs. Veillez à ce qu'aucune IP de tunnel ne se chevauche entre pairs pour éviter tout conflit de routage ou perte de paquets.

Optimisation du MTU sur réseaux mobiles et PPPoE

Configurez 'MTU = 1420' ou '1360' sur les clients mobiles ou PPPoE pour compenser l'en-tête d'encapsulation de 32 octets de WireGuard et éviter la fragmentation des paquets.

Pièges courants et dépannage

L'établissement de la poignée de main (handshake) échoue (0 octet reçu)

Vérifiez que le port UDP 51820 est ouvert dans votre pare-feu d'hébergement, que le nom d'hôte de l'Endpoint est résolu et que la PublicKey est correctement enregistrée côté serveur.

Le handshake réussit mais aucun trafic réseau ou Internet ne circule

Activez le routage IP sur la passerelle Linux (sysctl -w net.ipv4.ip_forward=1) et configurez le masquage NAT (MASQUERADE) via iptables/nftables sur l'interface WAN.

Déconnexions intempestives après inactivité derrière une box Internet ou un NAT mobile

Ajoutez 'PersistentKeepalive = 25' dans la section [Peer] du client pour transmettre un paquet toutes les 25 secondes et maintenir la table NAT active.

Foire aux questions (FAQ)

Quelles sont les primitives cryptographiques employées par WireGuard ?▼

WireGuard s'appuie sur Curve25519 pour l'échange de clés ECDH, ChaCha20 pour le chiffrement symétrique, Poly1305 pour l'authentification et BLAKE2s pour le hachage. Les clés sont codées en Base64 sur 32 octets.

Pourquoi la clé pré-partagée (PSK) est-elle recommandée dans WireGuard ?▼

La PSK intègre un chiffrement symétrique de 256 bits en complément de Curve25519. Cela assure une sécurité post-quantique hybride, protégeant le trafic enregistré contre de futures attaques quantiques.

Plusieurs clients WireGuard peuvent-ils partager la même paire de clés ?▼

Non. WireGuard associe strictement chaque adresse IP interne à une clé publique (Cryptokey Routing). Partager une clé entraîne des conflits de routage majeurs et la déconnexion des pairs.

Quelle est la différence d'AllowedIPs entre la configuration serveur et client ?▼

Côté serveur, AllowedIPs spécifie l'adresse IP unique attribuée au client (/32 ou /128). Côté client, AllowedIPs définit les flux routés dans le tunnel (0.0.0.0/0 pour tout le trafic ou sous-réseaux pour split-tunnel).

Comment appliquer la configuration de pair sous Linux avec wg-quick ?▼

Insérez le bloc dans /etc/wireguard/wg0.conf ou appliquez dynamiquement la commande 'wg set wg0 peer <PublicKey> allowed-ips <IP>/32' sans interrompre l'interface active.

Outils et utilitaires connexes

Tous les outils →