Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Membaca Kunci RSA daripada Fail dalam Go?

Bagaimana untuk Membaca Kunci RSA daripada Fail dalam Go?

Barbara Streisand
Lepaskan: 2024-11-12 18:24:02
asal
488 orang telah melayarinya

How to Read an RSA Key from a File in Go?

Cara Membaca Kunci RSA daripada Fail

Latar Belakang: Kunci RSA digunakan secara meluas dalam kriptografi untuk komunikasi yang selamat. Apabila melaksanakan sistem berasaskan RSA, selalunya perlu memuatkan kunci peribadi sedia ada daripada fail untuk tujuan pengesahan atau tandatangan. Walau bagaimanapun, mencari arahan komprehensif tentang cara membina struktur kunci berdasarkan kunci pra-jana daripada fail boleh menjadi sukar.

Penyelesaian: Untuk membaca kunci RSA daripada fail, anda boleh menggunakan langkah berikut:

Pilihan 1: PKCS#1 Dikodkan Kunci

  1. Pastikan kunci peribadi anda dikodkan dalam format PKCS#1, yang biasanya bermula dengan "-----MULAKAN KUNCI PERSENDIRIAN RSA-----".
  2. Nyahkod rentetan yang dikodkan PEM menggunakan Decode([]byte(pemString)) daripada pengekodan/pem pakej.
  3. Uraikan bait kunci mentah ke dalam *rsa.PrivateKey menggunakan ParsePKCS1PrivateKey(block.Bytes) daripada pakej x509.

Pilihan 2: PKCS#8 Dikodkan Kunci

  1. Sahkan bahawa peribadi anda kunci dikodkan dalam format PKCS#8, yang biasanya bermula dengan "-----MULAKAN KUNCI PERSENDIRIAN-----".
  2. Nyahkod rentetan yang dikodkan PEM seperti dalam Pilihan 1.
  3. Menghuraikan bait kunci mentah ke dalam *rsa.PrivateKey menggunakan ParsePKCS8PrivateKey(block.Bytes) daripada x509 pakej.

Contoh Kod:

// PKCS#1 Encoded Key Example
package main

import (
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
)

func main() {
    keyPEMString := `-----BEGIN RSA PRIVATE KEY-----
    ... (Your PKCS#1 key here)
    -----END RSA PRIVATE KEY-----`

    keyData, _ := pem.Decode([]byte(keyPEMString))
    key, _ := x509.ParsePKCS1PrivateKey(keyData.Bytes)
    fmt.Println(key.N) // Access the RSA modulus
}

// PKCS#8 Encoded Key Example
package main

import (
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
)

func main() {
    keyPEMString := `-----BEGIN PRIVATE KEY-----
    ... (Your PKCS#8 key here)
    -----END PRIVATE KEY-----`

    keyData, _ := pem.Decode([]byte(keyPEMString))
    key, _ := x509.ParsePKCS8PrivateKey(keyData.Bytes)
    rsaKey := key.(*rsa.PrivateKey)
    fmt.Println(rsaKey.N) // Access the RSA modulus
}
Salin selepas log masuk

Dengan mengikuti kaedah ini, anda boleh berjaya membaca dan membuat instantiate kunci RSA daripada fail, membolehkan anda melaksanakan operasi berasaskan RSA dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Kunci RSA daripada Fail dalam Go?. 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