gost

package
v1.0.2067 Latest Latest
Warning

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

Go to latest
Published: May 12, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// 获取 Cipher 类型
	GetCipherFromName = pkcs8.GetCipherFromName
	// 获取 hash 类型
	GetHashFromName = pkcs8.GetHashFromName
)
View Source
var (
	ErrKeyMustBePEMEncoded = errors.New("invalid key: Key must be a PEM encoded PKCS8 key")
	ErrNotGostPrivateKey   = errors.New("key is not a valid Gost private key")
	ErrNotGostPublicKey    = errors.New("key is not a valid Gost public key")
)

Functions

This section is empty.

Types

type DSAErrorFunc

type DSAErrorFunc = func([]error)

错误方法

type Gost

type Gost struct {

	// 错误
	Errors []error
	// contains filtered or unexported fields
}

*

  • Gost *
  • @create 2024-2-25
  • @author deatil

func FromBase64String

func FromBase64String(data string) Gost

Base64

func FromBytes

func FromBytes(data []byte) Gost

字节

func FromHexString

func FromHexString(data string) Gost

Hex

func FromPKCS8PrivateKey

func FromPKCS8PrivateKey(key []byte) Gost

PKCS8 私钥

func FromPKCS8PrivateKeyWithPassword

func FromPKCS8PrivateKeyWithPassword(key []byte, password string) Gost

PKCS8 私钥带密码

func FromPKCS8PublicKey

func FromPKCS8PublicKey(key []byte) Gost

PKCS8 公钥

func FromPrivateKey

func FromPrivateKey(key []byte) Gost

私钥

func FromPrivateKeyWithPassword

func FromPrivateKeyWithPassword(key []byte, password string) Gost

私钥带密码

func FromPublicKey

func FromPublicKey(key []byte) Gost

公钥

func FromString

func FromString(data string) Gost

字符

func GenerateKey

func GenerateKey(curve string) Gost

生成密钥

func GenerateKeyWithSeed

func GenerateKeyWithSeed(reader io.Reader) Gost

生成密钥

func New

func New() Gost

构造函数

func NewGost

func NewGost() Gost

构造函数

func (Gost) AppendError

func (this Gost) AppendError(err ...error) Gost

添加错误

func (Gost) CheckKeyPair

func (this Gost) CheckKeyPair() bool

检测公钥私钥是否匹配

func (Gost) CreatePKCS8PrivateKey

func (this Gost) CreatePKCS8PrivateKey() Gost

生成 pkcs8 私钥 pem 数据

func (Gost) CreatePKCS8PrivateKeyWithPassword

func (this Gost) CreatePKCS8PrivateKeyWithPassword(password string, opts ...any) Gost

生成 PKCS8 私钥带密码 pem 数据

func (Gost) CreatePKCS8PublicKey

func (this Gost) CreatePKCS8PublicKey() Gost

生成公钥 pem 数据

func (Gost) CreatePrivateKey

func (this Gost) CreatePrivateKey() Gost

生成私钥 pem 数据

func (Gost) CreatePrivateKeyWithPassword

func (this Gost) CreatePrivateKeyWithPassword(password string, opts ...any) Gost

生成私钥带密码 pem 数据

func (Gost) CreatePublicKey

func (this Gost) CreatePublicKey() Gost

生成公钥 pem 数据

func (Gost) Error

func (this Gost) Error() error

获取错误

func (Gost) FromBase64String

func (this Gost) FromBase64String(data string) Gost

Base64

func (Gost) FromBytes

func (this Gost) FromBytes(data []byte) Gost

字节

func (Gost) FromHexString

func (this Gost) FromHexString(data string) Gost

Hex

func (Gost) FromPKCS8PrivateKey

func (this Gost) FromPKCS8PrivateKey(key []byte) Gost

PKCS8 私钥

func (Gost) FromPKCS8PrivateKeyDer

func (this Gost) FromPKCS8PrivateKeyDer(der []byte) Gost

Pkcs8 DER 私钥

func (Gost) FromPKCS8PrivateKeyWithPassword

func (this Gost) FromPKCS8PrivateKeyWithPassword(key []byte, password string) Gost

PKCS8 私钥带密码

func (Gost) FromPKCS8PublicKey

func (this Gost) FromPKCS8PublicKey(key []byte) Gost

PKCS8 公钥

func (Gost) FromPKCS8PublicKeyDer

func (this Gost) FromPKCS8PublicKeyDer(der []byte) Gost

PKCS8 DER 公钥

func (Gost) FromPrivateKey

func (this Gost) FromPrivateKey(key []byte) Gost

私钥

func (Gost) FromPrivateKeyBytes

func (this Gost) FromPrivateKeyBytes(priBytes []byte) Gost

私钥明文, hex 或者 base64 解码后

func (Gost) FromPrivateKeyWithPassword

func (this Gost) FromPrivateKeyWithPassword(key []byte, password string) Gost

私钥带密码

func (Gost) FromPublicKey

func (this Gost) FromPublicKey(key []byte) Gost

公钥

func (Gost) FromPublicKeyBytes

func (this Gost) FromPublicKeyBytes(pubBytes []byte) Gost

公钥明文, hex 或者 base64 解码后

func (Gost) FromString

func (this Gost) FromString(data string) Gost

字符

func (Gost) GenerateKey

func (this Gost) GenerateKey() Gost

生成密钥

func (Gost) GenerateKeyWithSeed

func (this Gost) GenerateKeyWithSeed(reader io.Reader) Gost

生成密钥

func (Gost) GetCurve

func (this Gost) GetCurve() *gost.Curve

获取 Curve

func (Gost) GetData

func (this Gost) GetData() []byte

获取 data

func (Gost) GetErrors

func (this Gost) GetErrors() []error

获取错误

func (Gost) GetKeyData

func (this Gost) GetKeyData() []byte

获取 keyData

func (Gost) GetParsedData

func (this Gost) GetParsedData() []byte

获取 parsedData

func (Gost) GetPrivateKey

func (this Gost) GetPrivateKey() *gost.PrivateKey

获取 PrivateKey

func (Gost) GetPrivateKeyBytes added in v1.0.2051

func (this Gost) GetPrivateKeyBytes() []byte

获取 PrivateKey 明文

func (Gost) GetPublicKey

func (this Gost) GetPublicKey() *gost.PublicKey

获取 PublicKey

func (Gost) GetPublicKeyBytes added in v1.0.2051

func (this Gost) GetPublicKeyBytes() []byte

获取 PublicKey 明文

func (Gost) GetSecretData

func (this Gost) GetSecretData() []byte

获取 secretData

func (Gost) GetSignHash

func (this Gost) GetSignHash() HashFunc

获取 hash 类型

func (Gost) GetVerify

func (this Gost) GetVerify() bool

获取验证后情况

func (Gost) KEK

func (this Gost) KEK(ukm any) Gost

KEK

func (Gost) KEK2001

func (this Gost) KEK2001(ukm any) Gost

KEK2001

func (Gost) KEK2012256

func (this Gost) KEK2012256(ukm any) Gost

KEK2012256

func (Gost) KEK2012512

func (this Gost) KEK2012512(ukm any) Gost

KEK2012512

func (Gost) MakeKeyDer

func (this Gost) MakeKeyDer() Gost

生成密钥 der 数据

func (Gost) MakePublicKey

func (this Gost) MakePublicKey() Gost

生成公钥

func (Gost) OnError

func (this Gost) OnError(fn DSAErrorFunc) Gost

引出错误信息

func (Gost) ParsePrivateKeyFromPEM

func (this Gost) ParsePrivateKeyFromPEM(key []byte) (*gost.PrivateKey, error)

解析私钥

func (Gost) ParsePrivateKeyFromPEMWithPassword

func (this Gost) ParsePrivateKeyFromPEMWithPassword(key []byte, password string) (*gost.PrivateKey, error)

解析带密码的私钥

func (Gost) ParsePublicKeyFromPEM

func (this Gost) ParsePublicKeyFromPEM(key []byte) (*gost.PublicKey, error)

解析公钥

func (Gost) SetCurve

func (this Gost) SetCurve(curve string) Gost

设置曲线类型 可选参数: CurveIdGostR34102001TestParamSet CurveIdGostR34102001CryptoProAParamSet CurveIdGostR34102001CryptoProBParamSet CurveIdGostR34102001CryptoProCParamSet CurveIdGostR34102001CryptoProXchAParamSet CurveIdGostR34102001CryptoProXchBParamSet CurveIdtc26gost34102012256paramSetA CurveIdtc26gost34102012256paramSetB CurveIdtc26gost34102012256paramSetC CurveIdtc26gost34102012256paramSetD CurveIdtc26gost34102012512paramSetTest CurveIdtc26gost34102012512paramSetA CurveIdtc26gost34102012512paramSetB CurveIdtc26gost34102012512paramSetC

func (Gost) SetSignHash

func (this Gost) SetSignHash(data string) Gost

设置 hash 类型 可用参数可查看 Hash 结构体数据

func (Gost) Sign

func (this Gost) Sign() Gost

私钥签名

func (Gost) SignASN1

func (this Gost) SignASN1() Gost

私钥签名

func (Gost) ToBase64String

func (this Gost) ToBase64String() string

输出Base64

func (Gost) ToBytes

func (this Gost) ToBytes() []byte

输出字节

func (Gost) ToHexString

func (this Gost) ToHexString() string

输出Hex

func (Gost) ToKeyBytes

func (this Gost) ToKeyBytes() []byte

私钥/公钥

func (Gost) ToKeyString

func (this Gost) ToKeyString() string

私钥/公钥

func (Gost) ToSecretBase64String

func (this Gost) ToSecretBase64String() string

输出密钥 Base64

func (Gost) ToSecretBytes

func (this Gost) ToSecretBytes() []byte

输出密钥字节

func (Gost) ToSecretHexString

func (this Gost) ToSecretHexString() string

输出密钥 Hex

func (Gost) ToSecretString

func (this Gost) ToSecretString() string

输出密钥字符

func (Gost) ToString

func (this Gost) ToString() string

输出字符

func (Gost) ToVerify

func (this Gost) ToVerify() bool

验证结果

func (Gost) ToVerifyInt

func (this Gost) ToVerifyInt() int

验证结果,返回 int 类型

func (Gost) Verify

func (this Gost) Verify(data []byte) Gost

公钥验证 使用原始数据[data]对比签名后数据

func (Gost) VerifyASN1

func (this Gost) VerifyASN1(data []byte) Gost

公钥验证 使用原始数据[data]对比签名后数据

func (Gost) WithCurve

func (this Gost) WithCurve(curve *gost.Curve) Gost

设置曲线类型

func (Gost) WithData

func (this Gost) WithData(data []byte) Gost

设置 data

func (Gost) WithErrors

func (this Gost) WithErrors(errs []error) Gost

设置错误

func (Gost) WithParsedData

func (this Gost) WithParsedData(data []byte) Gost

设置 parsedData

func (Gost) WithPrivateKey

func (this Gost) WithPrivateKey(data *gost.PrivateKey) Gost

设置 PrivateKey

func (Gost) WithPublicKey

func (this Gost) WithPublicKey(data *gost.PublicKey) Gost

设置 PublicKey

func (Gost) WithSecretData

func (this Gost) WithSecretData(data []byte) Gost

设置 secretData

func (Gost) WithSignHash

func (this Gost) WithSignHash(data HashFunc) Gost

设置 hash 类型

func (Gost) WithVerify

func (this Gost) WithVerify(data bool) Gost

设置 verify

type HashFunc

type HashFunc = func() hash.Hash

HashFunc

type Opts

type Opts = pkcs8.Opts

配置

type PBKDF2Opts

type PBKDF2Opts = pkcs8.PBKDF2Opts

PBKDF2 配置

type ScryptOpts

type ScryptOpts = pkcs8.ScryptOpts

Scrypt 配置

Jump to

Keyboard shortcuts

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