From: Sergey Matveev Date: Mon, 9 Dec 2024 12:28:13 +0000 (+0300) Subject: Hasher field must be publicly accessible X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f653f8c1dec044c5e05c159f31fcaacf3b2b87478fe1b7792d9ef23f7418ef3f;p=keks.git Hasher field must be publicly accessible So external library users can use its GOSTSigner. --- diff --git a/gyac/yacpki/gost.go b/gyac/yacpki/gost.go index bf0b66b..f6e00e6 100644 --- a/gyac/yacpki/gost.go +++ b/gyac/yacpki/gost.go @@ -11,7 +11,7 @@ import ( type GOSTSigner struct { Prv *gost3410.PrivateKey - hasher func() hash.Hash + Hasher func() hash.Hash } func (s *GOSTSigner) Public() crypto.PublicKey { @@ -23,7 +23,7 @@ func (s *GOSTSigner) Sign( msg []byte, opts crypto.SignerOpts, ) (signature []byte, err error) { - h := s.hasher() + h := s.Hasher() h.Write(msg) dgst := h.Sum(nil) signature, err = s.Prv.Sign(rand, dgst, opts) diff --git a/gyac/yacpki/prv.go b/gyac/yacpki/prv.go index d560f1d..48b73c1 100644 --- a/gyac/yacpki/prv.go +++ b/gyac/yacpki/prv.go @@ -31,13 +31,13 @@ func PrvParse(data []byte) (prv crypto.Signer, err error) { return } case AlgoGOST3410256A: - signer := &GOSTSigner{hasher: gost34112012256.New} + signer := &GOSTSigner{Hasher: gost34112012256.New} signer.Prv, err = gost3410.NewPrivateKeyBE( gost3410.CurveIdtc26gost341012256paramSetA(), av.V, ) prv = signer case AlgoGOST3410512C: - signer := &GOSTSigner{hasher: gost34112012512.New} + signer := &GOSTSigner{Hasher: gost34112012512.New} signer.Prv, err = gost3410.NewPrivateKeyBE( gost3410.CurveIdtc26gost341012512paramSetC(), av.V, )