ホームページ > バックエンド開発 > Golang > JWT 署名のためにファイルから RSA キーを読み取る方法は?

JWT 署名のためにファイルから RSA キーを読み取る方法は?

Linda Hamilton
リリース: 2024-11-08 06:53:02
オリジナル
438 人が閲覧しました

How to Read an RSA Key from a File for JWT Signing?

ファイルから 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート