ファイルから RSA キーを読み取る方法
JWT の署名に RSA 秘密キーを利用するには、それをファイルから抽出する必要があります。この記事では、ファイル内の事前に生成されたキーからキー構造を構築するプロセスについて説明します。
RSA キーの生成
で提供されるキーの例質問は次のコマンドを使用して生成されます:
openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt
RSA キーの読み取り元ファイル
ファイルからキーを読み取るには、次の pem.Decode と x509.ParsePKCS1PrivateKey の組み合わせを使用できます:
package main import ( "crypto/x509" "encoding/pem" "fmt" ) func main() { // Replace `pemString` with the actual contents of your key file. pemString := `-----BEGIN RSA PRIVATE KEY----- ...` block, _ := pem.Decode([]byte(pemString)) key, _ := x509.ParsePKCS1PrivateKey(block.Bytes) fmt.Println(key.N) // This prints the key's modulus. }
PKCS#8 の代替エンコードされたキー
PKCS#8 でエンコードされたキーは、x509.ParsePKCS8PrivateKey:
func main() { pemString := `-----BEGIN PRIVATE KEY----- ...` block, _ := pem.Decode([]byte(pemString)) parseResult, _ := x509.ParsePKCS8PrivateKey(block.Bytes) key := parseResult.(*rsa.PrivateKey) fmt.Println(key.N) // This prints the key's modulus. }
を使用して読み取ることができます。これらのソリューションを使用すると、ファイルから RSA 秘密キーにアクセスし、それを使用して JWT に署名したり、他の暗号化操作を実行したりできます。
以上がJWT 署名のためにファイルから RSA キーを読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。