Exemple #1
0
func (key *PrivateKey) SignTriple(t *protocol.Triple) error {
	var err error
	t.Author, err = key.AuthorID()
	if err != nil {
		return err
	}
	fingerprint, err := FingerprintTriple(t)
	if err != nil {
		return err
	}

	r, s, err := ecdsa.Sign(rand.Reader, (*ecdsa.PrivateKey)(key), fingerprint)
	if err != nil {
		return err
	}

	t.Sig = string(r.Bytes()) + string(s.Bytes())
	return nil
}