sm2

package
v2.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2024 License: Apache-2.0 Imports: 21 Imported by: 6

Documentation

Overview

nolint

nolint

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalECPrivateKey

func MarshalECPrivateKey(key *tjsm2.PrivateKey) ([]byte, error)

MarshalECPrivateKey marshal an ec private key to der encoded

func MarshalPKCS8PrivateKey

func MarshalPKCS8PrivateKey(key interface{}) (der []byte, err error)

MarshalPKCS8PrivateKey marshal a pkcs8 private key to der encoded

func MarshalPrivateKey

func MarshalPrivateKey(key *tjsm2.PrivateKey, oid asn1.ObjectIdentifier) ([]byte, error)

MarshalPrivateKey marshal an ec private key to der encoded with oid

func New

func New(keyType crypto.KeyType) (crypto.PrivateKey, error)

func ParsePKCS8PrivateKey

func ParsePKCS8PrivateKey(der []byte) (key interface{}, err error)

ParsePKCS8PrivateKey parse der encoded private key to crypto.PrivateKey

func SM2Sign

func SM2Sign(priv *tjsm2.PrivateKey, hash []byte) (r, s *big.Int, err error)

Types

type PrivateKey

type PrivateKey struct {
	K *tjsm2.PrivateKey
}

func (*PrivateKey) Bytes

func (sk *PrivateKey) Bytes() ([]byte, error)

func (*PrivateKey) Decrypt

func (sk *PrivateKey) Decrypt(ciphertext []byte) ([]byte, error)

func (*PrivateKey) DecryptWithOpts

func (sk *PrivateKey) DecryptWithOpts(ciphertext []byte, opts *crypto.EncOpts) ([]byte, error)

func (*PrivateKey) EncryptKey

func (sk *PrivateKey) EncryptKey() crypto.EncryptKey

func (*PrivateKey) PublicKey

func (sk *PrivateKey) PublicKey() crypto.PublicKey

func (*PrivateKey) Sign

func (sk *PrivateKey) Sign(digest []byte) ([]byte, error)

func (*PrivateKey) SignWithOpts

func (sk *PrivateKey) SignWithOpts(msg []byte, opts *crypto.SignOpts) ([]byte, error)

func (*PrivateKey) String

func (sk *PrivateKey) String() (string, error)

func (*PrivateKey) ToStandardKey

func (sk *PrivateKey) ToStandardKey() crypto2.PrivateKey

func (*PrivateKey) Type

func (sk *PrivateKey) Type() crypto.KeyType

type PublicKey

type PublicKey struct {
	K *tjsm2.PublicKey
}

func (*PublicKey) Bytes

func (pk *PublicKey) Bytes() ([]byte, error)

func (*PublicKey) Encrypt

func (pk *PublicKey) Encrypt(data []byte) ([]byte, error)

func (*PublicKey) EncryptWithOpts

func (pk *PublicKey) EncryptWithOpts(data []byte, opts *crypto.EncOpts) ([]byte, error)

func (*PublicKey) String

func (pk *PublicKey) String() (string, error)

func (*PublicKey) ToStandardKey

func (pk *PublicKey) ToStandardKey() crypto2.PublicKey

func (*PublicKey) Type

func (pk *PublicKey) Type() crypto.KeyType

func (*PublicKey) Verify

func (pk *PublicKey) Verify(digest []byte, sig []byte) (bool, error)

func (*PublicKey) VerifyWithOpts

func (pk *PublicKey) VerifyWithOpts(msg []byte, sig []byte, opts *crypto.SignOpts) (bool, error)

type Sig

type Sig struct {
	R *big.Int `json:"r"`
	S *big.Int `json:"s"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL