MCPcopy
hub / github.com/OpenNHP/opennhp / SetPrivateKey

Method SetPrivateKey

nhp/core/scheme/gmsm/gmsm.go:28–43  ·  view source on GitHub ↗
(prk []byte)

Source from the content-addressed store, hash-verified

26}
27
28func (s *SM2ECDH) SetPrivateKey(prk []byte) (err error) {
29 if len(prk) < PrivateKeySize {
30 return fmt.Errorf("private key too short: got %d bytes, need %d", len(prk), PrivateKeySize)
31 }
32 copy(s.PrivKey[:], prk[:PrivateKeySize])
33 s.prvK, err = ecdh.P256().NewPrivateKey(prk)
34 if err != nil {
35 return err
36 }
37 copy(s.PubKey[:], s.prvK.PublicKey().Bytes()[1:1+PublicKeySize])
38 s.PrivKeyBase64 = base64.StdEncoding.EncodeToString(s.PrivKey[:])
39 s.PubKeyBase64 = base64.StdEncoding.EncodeToString(s.PubKey[:])
40 s.BriefName = fmt.Sprintf("%s...%s", s.PubKeyBase64[0:4], s.PubKeyBase64[39:43])
41
42 return nil
43}
44
45func (s *SM2ECDH) PrivateKey() []byte {
46 return s.PrivKey[:]

Callers 1

ECDHFromKeyFunction · 0.95

Calls 2

BytesMethod · 0.65
PublicKeyMethod · 0.65

Tested by

no test coverage detected