sign format = 30 + len(z) + 02 + len(r) + r + 02 + len(s) + s, z being what follows its size, ie 02+len(r)+r+02+len(s)+s
(random io.Reader, msg []byte, signer crypto.SignerOpts)
| 67 | |
| 68 | // sign format = 30 + len(z) + 02 + len(r) + r + 02 + len(s) + s, z being what follows its size, ie 02+len(r)+r+02+len(s)+s |
| 69 | func (priv *PrivateKey) Sign(random io.Reader, msg []byte, signer crypto.SignerOpts) ([]byte, error) { |
| 70 | r, s, err := Sm2Sign(priv, msg, nil, random) |
| 71 | if err != nil { |
| 72 | return nil, err |
| 73 | } |
| 74 | return asn1.Marshal(sm2Signature{r, s}) |
| 75 | } |
| 76 | |
| 77 | func (pub *PublicKey) Verify(msg []byte, sign []byte) bool { |
| 78 | var sm2Sign sm2Signature |