Bagaimana untuk Menyahsulit Kekunci Peribadi PKCS8 Disulitkan dalam Go dan Betulkan Ralat \'Tiada pengepala DEK-Info dalam blok\'?

Linda Hamilton
Lepaskan: 2024-11-01 09:36:02
asal
244 orang telah melayarinya

How to Decrypt Encrypted PKCS8 Private Keys in Go and Fix the

Menyahsulit Kekunci Peribadi PKCS8 yang Disulitkan: Menyelesaikan Ralat "Tiada pengepala DEK-Info dalam blok"

Dalam percubaan untuk membaca PKCS8 yang disulitkan kunci peribadi dalam Pergi, anda mungkin menghadapi ralat "x509: tiada pengepala DEK-Info dalam blok." Ralat ini timbul daripada pengehadan yang wujud dalam pustaka standard Go, yang tidak mempunyai fungsi untuk menyahsulit kekunci PKCS8 yang disulitkan.

Menyelesaikan Masalah

Untuk memastikan anda tidak menjana kunci dengan salah, sahkan bahawa arahan OpenSSL anda adalah seperti berikut:

  1. Jana kunci persendirian:

    openssl genrsa -out file.pem -passout pass:file -aes256 1024
    Salin selepas log masuk
  2. Tukar kepada format PKCS8:

    openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem
    Salin selepas log masuk

Penyelesaian Alternatif

Walaupun perpustakaan standard Go tidak menyediakan sokongan langsung untuk menyahsulit kekunci PKCS8 yang disulitkan, anda boleh menggunakan luaran pakej seperti:

  • github.com/youmark/pkcs8

Pakej ini menawarkan fungsi yang direka khusus untuk menyahsulit kekunci PKCS8 yang disulitkan:

func DecryptPrivateKey(block *pem.Block, password []byte) (priv interface{}, err error)
Salin selepas log masuk

Dengan menggunakan pakej ini, anda boleh mengatasi had pustaka standard Go dan berjaya menyahsulit kunci peribadi PKCS8 yang disulitkan.

Atas ialah kandungan terperinci Bagaimana untuk Menyahsulit Kekunci Peribadi PKCS8 Disulitkan dalam Go dan Betulkan Ralat \'Tiada pengepala DEK-Info dalam blok\'?. 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!