Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menyimpan dan Memuatkan Kunci Peribadi dan Awam RSA dengan Selamat dalam Go?

Bagaimanakah Saya Boleh Menyimpan dan Memuatkan Kunci Peribadi dan Awam RSA dengan Selamat dalam Go?

Susan Sarandon
Lepaskan: 2024-12-12 11:07:10
asal
225 orang telah melayarinya

How Can I Securely Save and Load RSA Private and Public Keys in Go?

Menyimpan dan Memuatkan Kunci Peribadi dan Awam untuk Penyulitan RSA

Apabila bekerja dengan pakej crypto/rsa dalam Go, ia menjadi perlu untuk menyimpan dan dapatkan semula kunci peribadi dan awam dengan selamat. Artikel ini menyediakan panduan komprehensif tentang mengendalikan tugas dengan betul untuk mengekalkan kunci ini pada cakera dan memulihkannya apabila diperlukan.

Menyimpan Kunci Peribadi RSA

Untuk mencipta kepingan bait mewakili rsa.PrivateKey, gunakan fungsi berikut:

func x509.MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte
Salin selepas log masuk

Fungsi ini menyusun kunci persendirian menjadi kepingan bait mengikut piawai PKCS#1.

Menyimpan Kunci Awam RSA

Untuk rsa.PublicKey, tiada fungsi terbina dalam dalam pustaka standard Go to marshal kunci ke dalam kepingan bait. Walau bagaimanapun, amalan biasa untuk mengekodkan kunci persendirian termarshaled ke dalam fail PEM menggunakan kod berikut:

pemdata := pem.EncodeToMemory(
    &pem.Block{
        Type: "RSA PRIVATE KEY",
        Bytes: x509.MarshalPKCS1PrivateKey(key),
    },
)
Salin selepas log masuk

Coretan kod ini membalut kunci persendirian termarshaled dalam blok PEM dan mengekodnya ke dalam format PEM kepingan bait.

Memuatkan RSA Persendirian dan Awam Kekunci

Untuk memuatkan kunci persendirian RSA daripada cakera atau memori, gunakan fungsi berikut:

func x509.ParsePKCS1PrivateKey(der []byte) (key *rsa.PrivateKey, err error)
Salin selepas log masuk

Fungsi ini menghuraikan kepingan bait kunci persendirian yang dikodkan DER dan mengembalikan Objek rsa.PrivateKey.

Memandangkan kunci awam tidak mempunyai fungsi penghuraian sendiri, anda perlu mengekstrak kunci awam daripada kunci peribadi jika anda telah memuatkan kedua-duanya. Untuk mengekstrak kunci awam daripada kunci persendirian, gunakan kod berikut:

pub := &key.PublicKey
Salin selepas log masuk

Kesimpulan

Panduan komprehensif ini menyediakan maklumat dan fungsi yang diperlukan untuk menyimpan dan memuatkan kunci peribadi dan awam RSA dalam Go, memastikan pengurusan dan kebolehcapaian yang betul bagi kunci ini untuk operasi kriptografi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Memuatkan Kunci Peribadi dan Awam RSA dengan Selamat 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