Cara Menyahsulit Kunci Peribadi PKCS8 yang Disulitkan dalam Go: Menyelesaikan Ralat \'No DEK-Info Header\'

Susan Sarandon
Lepaskan: 2024-10-31 08:25:17
asal
175 orang telah melayarinya

How to Decrypt Encrypted PKCS8 Private Keys in Go: Solving the 'No DEK-Info Header' Error

"Menyahsulit Kekunci Peribadi PKCS8 yang Disulitkan dalam Go: Menyelesaikan Isu 'No DEK-Info Header'"

Dalam kriptografi, mengamankan kunci peribadi adalah penting. Satu format biasa untuk menyimpan kunci peribadi yang disulitkan ialah PKCS8. Apabila cuba membaca kekunci sedemikian dalam Go, pengguna mungkin menghadapi ralat yang menyatakan "tiada pengepala DEK-Info dalam blok." Begini cara untuk menyelesaikan isu ini.

Pustaka Go standard tidak mempunyai fungsi terbina dalam untuk menyahsulit kekunci PKCS8. Untuk menangani perkara ini, seseorang boleh menggunakan perpustakaan pihak ketiga seperti pakej "pkcs8" (https://github.com/youmark/pkcs8/blob/master/pkcs8.go#L103).

Menggunakan dengan menyediakan pakej "pkcs8", menyahsulit kunci PKCS8 yang disulitkan menjadi mudah. Berikut ialah coretan kod yang menunjukkan penggunaannya:

<code class="go">import (
    "github.com/youmark/pkcs8"
    "golang.org/x/crypto/pkcs12"
)

func DecryptKey(keyBytes []byte, password string) (*pkcs12.PrivateKey, error) {
    block, _ := pem.Decode(keyBytes)
    return pkcs8.DecryptPrivateKey(block.Bytes, []byte(password))
}</code>
Salin selepas log masuk

Dalam kod ini, fungsi DecryptPrivateKey bagi pakej "pkcs8" digunakan untuk menyahsulit kunci menggunakan kata laluan yang disediakan. Kunci yang dinyahsulit kemudian dikembalikan sebagai contoh PrivateKey.

Dengan menyepadukan penyelesaian ini, pembangun boleh membaca dan menyahsulit kunci persendirian PKCS8 yang disulitkan dengan cekap dalam Go, memastikan akses selamat kepada data yang disulitkan.

Atas ialah kandungan terperinci Cara Menyahsulit Kunci Peribadi PKCS8 yang Disulitkan dalam Go: Menyelesaikan Ralat \'No DEK-Info Header\'. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!