2017-12-14 6 views
-1

Das in Go's official documentation angegebene Beispiel für x509.ParsePKIXPublicKey stößt auf einen Laufzeitfehler, da die Block, die zurückgibt, nil ist. (Playground example)Wie dekodiere ich einen PEM-kodierten PKIX öffentlichen Schlüssel?

jedoch das Beispiel in den official documentation für läuft gut. (Playground example)

Der einzige Unterschied zwischen den beiden Beispielen ist die Art, wie der öffentliche Schlüssel initialisiert wird und wie er in verwendet wird.

Erstes Beispiel:

const pubPEM = ` 
    -----BEGIN PUBLIC KEY----- 
    ... 
    -----END PUBLIC KEY-----` 
block, _ := pem.Decode([]byte(pubPEM)) 

Zweites Beispiel:

var pubPEMData = []byte(` 
    -----BEGIN PUBLIC KEY----- 
    ... 
    -----END PUBLIC KEY-----`) 
block, rest := pem.Decode(pubPEMData) 

ich das erste Beispiel bearbeitet haben, so dass sie auf die gleiche Weise wie die zweite getan wird, aber dies hat sich nicht verändert Ergebnis. (Playground example)

Was bewirkt, dass die erste fehlschlägt, aber nicht die zweite?

Antwort

2

Sie haben Räume in der Zeichenfolge, sie entfernen und es wird funktionieren: fixed example

+0

Danke, ich weiß nicht, wie diese Räume wurden hinzugefügt – Aor

Verwandte Themen