首頁  >  文章  >  後端開發  >  如何從檔案中讀取 RSA 金鑰以進行 JWT 簽章?

如何從檔案中讀取 RSA 金鑰以進行 JWT 簽章?

Linda Hamilton
Linda Hamilton原創
2024-11-08 06:53:02305瀏覽

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

如何從檔案中讀取 RSA 金鑰

要使用 RSA 私鑰來簽署 JWT,您需要從檔案中提取它。本文將引導您完成從文件中預先產生的密鑰建立密鑰結構的過程。

產生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# ,您可以使用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 或執行其他加密操作。

以上是如何從檔案中讀取 RSA 金鑰以進行 JWT 簽章?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn