Heim >Backend-Entwicklung >Golang >Wie entschlüssele ich verschlüsselte private PKCS8-Schlüssel in Go und behebe den Fehler „Kein DEK-Info-Header im Block'?
Verschlüsselte private PKCS8-Schlüssel entschlüsseln: Behebung des Fehlers „Kein DEK-Info-Header im Block“
Bei einem Versuch, einen verschlüsselten PKCS8 zu lesen Wenn Sie in Go einen privaten Schlüssel eingeben, tritt möglicherweise der Fehler „x509: kein DEK-Info-Header im Block“ auf. Dieser Fehler entsteht durch eine inhärente Einschränkung innerhalb der Go-Standardbibliothek, der die Funktionalität zum Entschlüsseln verschlüsselter PKCS8-Schlüssel fehlt.
Fehlerbehebung des Problems
Um sicherzustellen, dass Sie keine Schlüssel generieren Wenn der Schlüssel falsch ist, überprüfen Sie, ob Ihre OpenSSL-Befehle wie folgt lauten:
Generieren Sie den privater Schlüssel:
openssl genrsa -out file.pem -passout pass:file -aes256 1024
In PKCS8-Format konvertieren:
openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem
Alternative Lösung
Während die Go-Standardbibliothek keine direkte Unterstützung für die Entschlüsselung verschlüsselter PKCS8-Schlüssel bietet, können Sie ein externes Paket wie z als:
Dieses Paket bietet eine Funktion, die speziell zum Entschlüsseln verschlüsselter PKCS8-Schlüssel entwickelt wurde:
func DecryptPrivateKey(block *pem.Block, password []byte) (priv interface{}, err error)
Mit diesem Paket können Sie die Einschränkungen der Go-Standardbibliothek überwinden und verschlüsseltes PKCS8 Private erfolgreich entschlüsseln Schlüssel.
Das obige ist der detaillierte Inhalt vonWie entschlüssele ich verschlüsselte private PKCS8-Schlüssel in Go und behebe den Fehler „Kein DEK-Info-Header im Block'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!