Genera una clave precompartida segura

Una clave precompartida (también llamada un secreto compartido o PSK) se usa para autenticar el túnel de Cloud VPN a tu puerta de enlace de VPN de intercambio de tráfico. Como práctica recomendada de seguridad, te recomendamos que generes un secreto compartido seguro de 32 caracteres.

Generado para ti

La string aleatoria a continuación fue generada por tu navegador con el fragmento de JavaScript al final de esta página. Está a 24 bytes de Crypto.getRandomValues, codificado en base64 para crear una PSK de 32 caracteres.

Con este fragmento, la clave privada permanece segura en tu navegador. Si deseas generarla en tu propio sistema, usa uno de los siguientes métodos de generación.

El botón Regenerar generará un nuevo PSK aleatorio cuando se haga clic.

Métodos de generación

Usa los siguientes métodos para generar un secreto compartido seguro de 32 caracteres.

Usa OpenSSL para generar un secreto compartido

Ejecuta el siguiente comando OpenSSL en un sistema Linux o macOS para generar un secreto compartido:

openssl rand -base64 24

Usa /dev/urandom para generar un secreto compartido

En Linux o macOS, también puedes usar /dev/urandom como fuente seudoaleatoria para generar un secreto compartido:

  • En Linux o macOS, puedes enviar la entrada aleatoria a base64:
    head -c 24 /dev/urandom | base64
    
  • Puedes pasar la entrada aleatoria a través de una función de hash, como sha256:
    • En Linux:
      head -c 4096 /dev/urandom | sha256sum | cut -b1-32
      
    • En macOS:
      head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
      

Usa JavaScript para generar una clave precompartida

También puedes generar la clave precompartida de forma directa en una página de documentos con JavaScript con la API de criptografía web W3C. Esta API usa el método Crypto.getRandomValues(), que proporciona una forma criptográfica segura de generar una clave precompartida.

El siguiente código creará un arreglo de 24 bytes aleatorios y, luego, base64 codificará esos bytes para producir una string aleatoria de 32 caracteres.


  var a = new Uint8Array(24);
  window.crypto.getRandomValues(a);

  console.log(btoa(String.fromCharCode.apply(null, a)));

Qué sigue