ecc.go
func (es *EccSigner) SignBytes(buf []byte) ([]byte, error) {
	var err error

	// check es.priv
	if es.priv == nil {
		return nil, ErrInvalidPrivateKey
	}

	// hash
	h := es.hash.New()
	_, err = h.Write(buf)
	if err != nil {
		return nil, err
	}

	// sign
	r, s, err := ecdsa.Sign(rand.Reader, es.priv, h.Sum(nil))
	if err != nil {
		return nil, err
	}

	// make sig
	return es.Mksig(r, s)
}
func (es *EccSigner) SignBytes(buf []byte) ([]byte, error) {
	var err error

	// check es.priv
	if es.priv == nil {
		return nil, ErrInvalidPrivateKey
	}

	// hash
	h := es.hash.New()
	_, err = h.Write(buf)
	if err != nil {
		return nil, err
	}

	// sign
	r, s, err := ecdsa.Sign(rand.Reader, es.priv, h.Sum(nil))
	if err != nil {
		return nil, err
	}

	// make sig
	return es.Mksig(r, s)
}
// SignBytes creates a signature for buf.