Bagaimana hendak mengimport RSA privateKey daripada fail?
Apabila anda memerlukan membaca kunci RSA daripada fail untuk mendapatkan tandatangan untuk JSON token web (JWT), langkah khusus boleh diambil untuk mencapai matlamat ini. Walaupun terdapat beberapa contoh sedia ada yang mempamerkan prosedur untuk menyimpan kunci RSA yang baru dijana pada pemacu, arahan tentang cara membina struktur kunci bergantung pada kunci pra-jana daripada fail mungkin terhad.
Kepada menangani isu ini, kami membentangkan penyelesaian komprehensif yang menggabungkan fungsi pem.Decode dan fungsi x509.ParsePKCS1PrivateKey. Pendekatan ini boleh mengimport RSA privateKey daripada fail dengan berkesan.
Berikut ialah penjelasan terperinci tentang proses:
Nyahkod Kunci yang dikodkan PEM:
Menghuraikan Kunci Peribadi PKCS#1:
Cetak Parameter Kunci Peribadi:
Kod Contoh:
Berikut ialah contoh yang mempraktikkan arahan yang dinyatakan di atas:
package main import ( "crypto/x509" "encoding/pem" "fmt" ) func main() { // Define the PEM-encoded key as a string. pemString := `-----BEGIN PRIVATE KEY----- [PEM-encoded key content] -----END PRIVATE KEY-----` // Decode the PEM-encoded key. block, _ := pem.Decode([]byte(pemString)) // Parse the PKCS#1 private key. key, _ := x509.ParsePKCS1PrivateKey(block.Bytes) // Print the modulus of the private key. fmt.Println(key.N) }
Alternatif untuk Kunci Berkod PKCS#8:
Jika kunci yang anda gunakan dikodkan menggunakan format PKCS#8, pendekatan berbeza ialah perlu. Anda akan menggunakan fungsi x509.ParsePKCS8PrivateKey sebaliknya. Berikut ialah contoh:
func main() { // Define the PEM-encoded key as a string. pemString := `-----BEGIN PRIVATE KEY----- [PEM-encoded key content] -----END PRIVATE KEY-----` // Decode the PEM-encoded key. block, _ := pem.Decode([]byte(pemString)) // Parse the PKCS#8 private key. parseResult, _ := x509.ParsePKCS8PrivateKey(block.Bytes) // Cast the parse result to an RSA private key. key := parseResult.(*rsa.PrivateKey) // Print the modulus of the private key. fmt.Println(key.N) }
Dengan mengikuti langkah-langkah ini, anda boleh mengimport RSA privateKey dengan berkesan daripada fail, tidak kira sama ada ia dikodkan dalam format PKCS#1 atau PKCS#8.
Atas ialah kandungan terperinci Bagaimana untuk mengimport kunci peribadi RSA daripada fail dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!