Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyahsulit Kekunci Peribadi PKCS8 Disulitkan dalam Go dan Betulkan Ralat \"Tiada pengepala DEK-Info dalam blok\"?
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:
Jana kunci persendirian:
openssl genrsa -out file.pem -passout pass:file -aes256 1024
Tukar kepada format PKCS8:
openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem
Penyelesaian Alternatif
Walaupun perpustakaan standard Go tidak menyediakan sokongan langsung untuk menyahsulit kekunci PKCS8 yang disulitkan, anda boleh menggunakan luaran pakej seperti:
Pakej ini menawarkan fungsi yang direka khusus untuk menyahsulit kekunci PKCS8 yang disulitkan:
func DecryptPrivateKey(block *pem.Block, password []byte) (priv interface{}, err error)
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!