diff --git a/certdehydrate/certdehydrate.go b/certdehydrate/certdehydrate.go index 7edaa5f..bcd6c75 100644 --- a/certdehydrate/certdehydrate.go +++ b/certdehydrate/certdehydrate.go @@ -54,10 +54,22 @@ func (dehydrated DehydratedCertificate) SerialNumber(name string) ([]byte, error notAfterHash := sha256.Sum256(notAfterScaledBuf.Bytes()) serialHash := sha256.New() - serialHash.Write(nameHash[:]) - serialHash.Write(pubkeyHash[:]) - serialHash.Write(notBeforeHash[:]) - serialHash.Write(notAfterHash[:]) + _, err = serialHash.Write(nameHash[:]) + if err != nil { + return nil, fmt.Errorf("serialHash.Write of nameHash failed: %s", err) + } + _, err = serialHash.Write(pubkeyHash[:]) + if err != nil { + return nil, fmt.Errorf("serialHash.Write of pubkeyHash failed: %s", err) + } + _, err = serialHash.Write(notBeforeHash[:]) + if err != nil { + return nil, fmt.Errorf("serialHash.Write of notBeforeHash failed: %s", err) + } + _, err = serialHash.Write(notAfterHash[:]) + if err != nil { + return nil, fmt.Errorf("serialHash.Write of notAfterHash failed: %s", err) + } // 19 bytes will be less than 2^159, see https://crypto.stackexchange.com/a/260 return serialHash.Sum(nil)[0:19], nil