Cara Menyahsulit Kekunci PKCS8 Disulitkan dalam Go: \'Tiada pengepala DEK-Info dalam blok\' Penyelesaian Ralat?

Barbara Streisand
Lepaskan: 2024-11-02 07:56:29
asal
993 orang telah melayarinya

How to Decrypt Encrypted PKCS8 Keys in Go:

Pergi: "Tiada pengepala DEK-Info dalam blok" Ralat Semasa Menyahsulit Kekunci PKCS8 Disulitkan

Apabila cuba menyahsulit kunci persendirian PKCS8 yang disulitkan dalam Go, anda mungkin menghadapi mesej ralat yang menyatakan "x509: tiada pengepala DEK-Info dalam blok." Ralat ini menunjukkan bahawa blok yang disediakan tidak mengandungi pengepala DEK-Info yang diperlukan, yang penting untuk menyahsulit kunci.

Isunya terletak pada fakta bahawa pustaka Go standard tidak menyediakan fungsi asli untuk menyahsulit kunci PKCS8 yang disulitkan. Untuk menangani perkara ini, anda boleh menggunakan perpustakaan pihak ketiga atau kod tersuai.

Berikut ialah perpustakaan yang sesuai yang boleh mengendalikan fail PKCS8 yang disulitkan: https://github.com/youmark/pkcs8/blob/master/pkcs8. go#L103

Dengan memasukkan pakej pkcs8 ke dalam kod anda, anda boleh berjaya menyahsulit kunci peribadi PKCS8 yang disulitkan menggunakan coretan kod berikut:

<code class="go">import "github.com/youmark/pkcs8"

func DecryptPKCS8Key(key []byte, password string) ([]byte, error) {
    block, _ := pem.Decode(key)
    return pkcs8.Decrypt(block.Bytes, []byte(password))
}</code>
Salin selepas log masuk

Coretan kod ini menggunakan fungsi Nyahsulit daripada pakej pkcs8 untuk menyahsulit kunci PKCS8 yang disulitkan. Parameter pertama ialah data kunci yang dikodkan, manakala parameter kedua ialah kata laluan yang digunakan untuk menyulitkan kunci.

Atas ialah kandungan terperinci Cara Menyahsulit Kekunci PKCS8 Disulitkan dalam Go: \'Tiada pengepala DEK-Info dalam blok\' Penyelesaian Ralat?. 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!