func (eds *encodeDigestSuite) TestEncodeDigestErrors(c *C) { _, err := asserts.EncodeDigest(crypto.SHA1, nil) c.Check(err, ErrorMatches, "unsupported hash") _, err = asserts.EncodeDigest(crypto.SHA512, []byte{1, 2}) c.Check(err, ErrorMatches, "hash digest by sha512 should be 64 bytes") _, err = asserts.EncodeDigest(crypto.SHA3_384, []byte{1, 2}) c.Check(err, ErrorMatches, "hash digest by sha3-384 should be 48 bytes") }
func makeDigest(rev int) string { d, err := asserts.EncodeDigest(crypto.SHA3_384, fakeHash(rev)) if err != nil { panic(err) } return string(d) }
func (eds *encodeDigestSuite) TestEncodeDigestOK(c *C) { h := crypto.SHA512.New() h.Write([]byte("some stuff to hash")) digest := h.Sum(nil) encoded, err := asserts.EncodeDigest(crypto.SHA512, digest) c.Assert(err, IsNil) decoded, err := base64.RawURLEncoding.DecodeString(encoded) c.Assert(err, IsNil) c.Check(decoded, DeepEquals, digest) // sha3-384 b, err := base64.RawURLEncoding.DecodeString(blobSHA3_384) c.Assert(err, IsNil) encoded, err = asserts.EncodeDigest(crypto.SHA3_384, b) c.Assert(err, IsNil) c.Check(encoded, Equals, blobSHA3_384) }