自動での生成
次のランダム文字列は、このページの最後にある JavaScript スニペットを使用してブラウザで生成されたものです。
これは、Crypto.getRandomValues
から取得した 24 バイトの配列を base64 でエンコードして 32 文字の PSK にしたものです。
このスニペットを使用すると、秘密鍵はブラウザ内で安全に維持されます。ご使用のシステムで PSK を生成する場合は、次のいずれかの生成方法を使用してください。
[再生成] ボタンをクリックすると、新しいランダムの PSK が生成されます。
生成方法
強力な 32 文字の共有シークレットは、次の方法で生成します。
OpenSSL を使用して共有シークレットを生成する
Linux または macOS システムで次の OpenSSL コマンドを実行して、共有シークレットを生成します。
openssl rand -base64 24
/dev/urandom を使用して共有シークレットを生成する
Linux または macOS で /dev/urandom を疑似乱数のソースとして使用して、/dev/urandom
を生成することもできます。
- Linux や macOS で、ランダムな入力を
base64
に送信できます。head -c 24 /dev/urandom | base64
- sha256 などのハッシュ関数によってランダムな入力を渡せます。
- Linux の場合:
head -c 4096 /dev/urandom | sha256sum | cut -b1-32
- macOS 上:
head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
- Linux の場合:
JavaScript を使用して事前共有キーを生成する
JavaScript を使用し、W3C Web Cryptography API によって doc ページ内に事前共有キーを直接生成することもできます。この API では Crypto.getRandomValues() メソッドを使用します。このメソッドを使用することによって、暗号的に適切な方法で事前共有キーを生成できます。
次のコードでは、ランダムな 24 バイトの配列を作成し、作成したバイト配列を base64 でエンコードしてランダムな 32 文字の文字列を生成します。
var a = new Uint8Array(24); window.crypto.getRandomValues(a); console.log(btoa(String.fromCharCode.apply(null, a)));
次のステップ
- Cloud VPN の基本コンセプトについて学習する
- 高可用性、高スループット、複数サブネットのシナリオについては、高度な構成をご覧ください。
- カスタムの Virtual Private Cloud ネットワークを作成する
- VPN トンネルとゲートウェイを管理する
- ログとモニタリング指標を確認する
- トラブルシューティングのヘルプを表示する