WireGuard dice que la longitud de la clave privada es incorrecta: ¿y ahora qué?
Una clave de 32 bytes en base64 ocupa 44 caracteres. Decide si tienes texto dañado o la identidad equivocada antes de regenerar nada.
El mensaje dice que la clave privada tiene una longitud incorrecta, y esa redacción apunta primero a la codificación y solo después a la criptografía. Las claves de WireGuard codifican 32 bytes en base64, lo que da 44 caracteres incluido un relleno final, así que un valor de otro tamaño no es una clave por muy aleatorio que parezca. Rellenar la cadena hasta que el analizador la acepte produce un valor bien formado que ningún par reconocerá jamás.
Detrás de este error se esconden dos tareas distintas: reparar el texto de una clave válida y sustituir una identidad que ya no posees. Tienen consecuencias diferentes, y una de ellas invalida el otro extremo.
Qué espera el analizador
Una clave de WireGuard son 32 bytes de material de clave en base64 con relleno estándar, lo que da una cadena fija de 44 caracteres. Las herramientas rechazan todo lo que no se decodifique exactamente a 32 bytes, porque la curva subyacente toma un escalar de 32 bytes y nada más. Los valores públicos y privados usan la misma codificación, así que el analizador no puede saber solo por el formato cuál de los dos pegaste. Esa ambigüedad causa la mitad de la confusión en torno a este error.
wg genkey | tee private.key | wg pubkey > public.key
base64 -d private.key | wc -c
wc -c private.key
wg show wg0 public-key
Si tu valor se decodifica a 32 bytes, la longitud está bien y la queja viene de otro lugar del archivo. Si se decodifica a algo más corto, tienes material truncado y no un problema de formato.
¿Daño de formato o material equivocado?
El daño de formato se concentra en los bordes: comillas añadidas por un intérprete, una etiqueta como private_key copiada junto con el valor, un salto de línea insertado por un cliente de chat o un espacio final que sobrevivió al pegado. Cada uno de esos cambios altera la cadena sin cambiar los bytes, así que eliminarlo restaura la identidad original. Compara el archivo con el registro de aprovisionamiento carácter por carácter en lugar de quitar puntuación hasta que el analizador se calle.
El material equivocado es otra situación. Una contraseña, una clave de certificado o un valor público pueden parecer plausibles y decodificarse al tamaño equivocado. Ninguna limpieza convierte a ninguno de ellos en el escalar que el par espera. Ese caso necesita una identidad nueva en lugar de una edición.
Una clave pública en el campo privado
La confusión más común es un valor público pegado en el campo privado, o al revés. Ambos son base64 válidos de 32 bytes, así que la comprobación de longitud pasa y el handshake falla después sin un mensaje útil. Una clave privada es el escalar que produce la pública, así que puedes resolverlo derivando el valor público y comparándolo con lo que autoriza el par. Cuando el valor derivado no coincide con el registro, tienes la identidad equivocada y no una errata.
Sustituir la clave privada del cliente sin actualizar la clave pública autorizada en el otro extremo recrea el mismo desajuste, con la confusión añadida de que el archivo del propio cliente ahora parece coherente. Cambia ambos extremos en una sola operación, o la siguiente persona depurará la mitad equivocada.
Repara el perfil y luego demuestra el handshake
Una vez que la clave se decodifica al tamaño correcto y coincide con el par autorizado, el trabajo restante es el perfil y la ruta. Los comandos siguientes generan un par nuevo cuando hace falta, verifican el tamaño decodificado de una clave existente y leen el valor público que la interfaz usa realmente. Nunca pegues un valor privado en un ticket ni en un sitio de decodificación.
wg genkey | tee new.key | wg pubkey > new.pub
base64 -d private.key | wc -c
ip route get 10.60.9.5
wg show wg0 latest-handshakes
La comprobación de tamaño responde si el material tiene forma de clave, y la consulta de ruta responde si un paquete llegaría alguna vez a la interfaz. Una línea de handshake que sigue vacía después de pasar ambas comprobaciones traslada el diagnóstico al extremo del par y a las direcciones permitidas. Lee la clave pública de la interfaz contra el registro de aprovisionamiento una última vez, porque un perfil guardado obsoleto puede parecer correcto mientras el activo difiere].
Anota qué valor sustituiste y dónde vive la copia autorizada. Quien toque este par a continuación debe saber qué extremo cambió.