go.crypto/ssh: fix certificate parsing/marshaling.

The change to add the PublicKey interface accidentally caused certificate handling to expect an extra copy of the private key algorithm name in the binary representation. This change adapts a suitable parsing API and adds a test to ensure that cert handling isn't easily broken in the future.

R=agl, hanwen, jmpittman
CC=golang-dev
https://golang.org/cl/13272055
This commit is contained in:
JP Sugarbroad
2013-10-09 12:56:09 -04:00
committed by Adam Langley
parent 4147256c9c
commit 15d8abf5c4
6 changed files with 64 additions and 22 deletions
+1 -1
View File
@@ -201,7 +201,7 @@ func serializeSignature(name string, sig []byte) []byte {
// generating an authorized_keys or host_keys file.
func MarshalPublicKey(key PublicKey) []byte {
// See also RFC 4253 6.6.
algoname := key.PrivateKeyAlgo()
algoname := key.PublicKeyAlgo()
blob := key.Marshal()
length := stringLength(len(algoname))