// Decode the Public Key block, _ := pem.Decode([]byte(pubKey)) if block == nil { fmt.Println("Error parsing PEM block with GitHub public key") os.Exit(5) } // Create our ECDSA Public Key key, err := x509.ParsePKIXPublicKey(block.Bytes) if err != nil { fmt.Printf("Error parsing DER encoded public key: %s\n", err) os.Exit(6) } // Because of documentation, we know it's a *ecdsa.PublicKey ecdsaKey, ok := key.(*ecdsa.PublicKey) if !ok { fmt.Println("GitHub key was not ECDSA, what are they doing?!") os.Exit(7) }