Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membaca Kunci RSA dari Fail untuk Menandatangani JWT?

Bagaimana untuk Membaca Kunci RSA dari Fail untuk Menandatangani JWT?

Linda Hamilton
Lepaskan: 2024-11-08 06:53:02
asal
458 orang telah melayarinya

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

Cara Membaca Kunci RSA daripada Fail

Untuk menggunakan kunci persendirian RSA untuk menandatangani JWT, anda perlu mengekstraknya daripada fail . Artikel ini akan membimbing anda melalui proses membina struktur kunci daripada kunci pra-jana dalam fail.

Menjana Kunci RSA

Kekunci contoh yang disediakan dalam soalan dijana menggunakan arahan berikut:

openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt
Salin selepas log masuk

Membaca Kunci RSA daripada Fail

Untuk membaca kunci daripada fail, anda boleh menggunakan gabungan pem.Decode dan 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.
}
Salin selepas log masuk

Alternatif untuk PKCS#8 Kekunci Dikodkan

Jika anda mempunyai PKCS#8 yang dikodkan kunci, anda boleh membacanya menggunakan 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.
}
Salin selepas log masuk

Penyelesaian ini membolehkan anda mengakses kunci peribadi RSA daripada fail dan menggunakannya untuk menandatangani JWT atau melakukan operasi kriptografi lain.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Kunci RSA dari Fail untuk Menandatangani JWT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan