---
name: WGKeys
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type WGKeys struct {
      PrivateKey   string
      PublicKey    string
      PresharedKey string
  }
description: "Par de claves WireGuard Curve25519 (privada y publica) en base64, con preshared key opcional para defensa quantum-safe en mesh."
tags: [wireguard, crypto, infra, mesh]
uses_types: []
file_path: "functions/infra/wg_keygen.go"
---

## Notas

Todos los campos son cadenas base64 de 44 caracteres (32 bytes Curve25519 codificados). `PresharedKey` esta vacio cuando `WGKeygen` se llama con `withPSK=false`. NUNCA persistir `PrivateKey` ni `PresharedKey` en logs ni en texto plano.
