diff options
author | Gibheer <gibheer@gmail.com> | 2015-03-25 20:12:41 +0100 |
---|---|---|
committer | Gibheer <gibheer@gmail.com> | 2015-03-25 20:12:41 +0100 |
commit | 11423e25b5db9e6345bf5df6a3a53289ab44ca3b (patch) | |
tree | 65e93514121d2ad8f5432815ca298ef7396278ea | |
parent | a11b67a64e39aded4a4bb1337fb7a4cf3021f8ef (diff) |
fix go evt problem
Go vet reported a problem with the interface of WriteTo returning an
int.
Line 13: method WriteTo(stream io.Writer) (int, error)
should have signature WriteTo(io.Writer) (int64, error)
To fix that problem, the interface was changed to return io.WriterTo,
which uses int64 for return values.
-rw-r--r-- | ecdsa.go | 9 | ||||
-rw-r--r-- | pem_marshal.go | 5 | ||||
-rw-r--r-- | rsa.go | 9 | ||||
-rw-r--r-- | types.go | 3 |
4 files changed, 15 insertions, 11 deletions
@@ -9,6 +9,7 @@ import ( "encoding/asn1" "encoding/pem" "errors" + "io" "math/big" ) @@ -72,11 +73,11 @@ func (pr EcdsaPrivateKey) PrivateKey() crypto.PrivateKey { // This function implements the Pemmer interface to marshal the private key // into a pem block. -func (pr EcdsaPrivateKey) MarshalPem() (marshalledPemBlock, error) { +func (pr EcdsaPrivateKey) MarshalPem() (io.WriterTo, error) { asn1, err := x509.MarshalECPrivateKey(pr.private_key) if err != nil { return nil, err } pem_block := pem.Block{Type: PemLabelEcdsa, Bytes: asn1} - return pem.EncodeToMemory(&pem_block), nil + return marshalledPemBlock(pem.EncodeToMemory(&pem_block)), nil } // This functoin loads an ecdsa public key from the asn.1 representation. @@ -91,11 +92,11 @@ func LoadPublicKeyEcdsa(raw []byte) (*EcdsaPublicKey, error) { // This function implements the Pemmer interface to marshal the public key into // a pem block. -func (pu *EcdsaPublicKey) MarshalPem() (marshalledPemBlock, error) { +func (pu *EcdsaPublicKey) MarshalPem() (io.WriterTo, error) { asn1, err := x509.MarshalPKIXPublicKey(pu.public_key) if err != nil { return nil, err } pem_block := pem.Block{Type: PemLabelPublic, Bytes: asn1} - return pem.EncodeToMemory(&pem_block), nil + return marshalledPemBlock(pem.EncodeToMemory(&pem_block)), nil } // This function verifies a message using the public key, signature and hash diff --git a/pem_marshal.go b/pem_marshal.go index 14b3bd4..54ce1e0 100644 --- a/pem_marshal.go +++ b/pem_marshal.go @@ -10,6 +10,7 @@ type ( // This function writes the marshalled pem block to a writer and returns the // number of written bytes and eventual errors. -func (b marshalledPemBlock) WriteTo(stream io.Writer) (int, error) { - return stream.Write(b) +func (b marshalledPemBlock) WriteTo(stream io.Writer) (int64, error) { + numBytes, err := stream.Write(b) + return int64(numBytes), err } @@ -7,6 +7,7 @@ import ( "crypto/x509" "encoding/pem" "errors" + "io" ) const ( @@ -50,10 +51,10 @@ func (pr RsaPrivateKey) PrivateKey() crypto.PrivateKey { return pr.private_key } -func (pr RsaPrivateKey) MarshalPem() (marshalledPemBlock, error) { +func (pr RsaPrivateKey) MarshalPem() (io.WriterTo, error) { asn1 := x509.MarshalPKCS1PrivateKey(pr.private_key) pem_block := pem.Block{Type: PemLabelRsa, Bytes: asn1} - return pem.EncodeToMemory(&pem_block), nil + return marshalledPemBlock(pem.EncodeToMemory(&pem_block)), nil } // restore a rsa public key @@ -62,11 +63,11 @@ func LoadPublicKeyRsa(raw []byte) (*RsaPublicKey, error) { } // marshal a rsa public key into pem format -func (pu *RsaPublicKey) MarshalPem() (marshalledPemBlock, error) { +func (pu *RsaPublicKey) MarshalPem() (io.WriterTo, error) { asn1, err := x509.MarshalPKIXPublicKey(pu.public_key) if err != nil { return nil, err } pem_block := pem.Block{Type: PemLabelPublic, Bytes: asn1} - return pem.EncodeToMemory(&pem_block), nil + return marshalledPemBlock(pem.EncodeToMemory(&pem_block)), nil } // verify a message with a signature using the public key @@ -16,6 +16,7 @@ package pki import ( "crypto" + "io" ) // This label is used as the type in the pem encoding of public keys. @@ -47,6 +48,6 @@ type ( // in the pem format. The result can then be written to any structure // implementing the io.Writer interface. Pemmer interface { - MarshalPem() (marshalledPemBlock, error) + MarshalPem() (io.WriterTo, error) } ) |