skopeo/vendor/github.com/containers/libtrust/ec_key_openssl.go
Valentin Rothberg 7922028d7c Update to c/image v4.0.1
Update to use the correct c/image/v4 import path, work originally from
https://github.com/containers/skopeo/pull/733 by Valentin Rothberg <rothberg@redhat.com>.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2019-10-03 23:50:42 +02:00

25 lines
471 B
Go

// +build libtrust_openssl
package libtrust
import (
"bytes"
"crypto"
"crypto/ecdsa"
"crypto/rand"
"fmt"
"io"
"math/big"
)
func (k *ecPrivateKey) sign(data io.Reader, hashID crypto.Hash) (r, s *big.Int, err error) {
hId := k.signatureAlgorithm.HashID()
buf := new(bytes.Buffer)
_, err = buf.ReadFrom(data)
if err != nil {
return nil, nil, fmt.Errorf("error reading data: %s", err)
}
return ecdsa.HashSign(rand.Reader, k.PrivateKey, buf.Bytes(), hId)
}