Documentation ¶
Index ¶
- Variables
- func AddCipher(oid asn1.ObjectIdentifier, cipher func() Cipher)
- func AddkeyEncrypt(oid asn1.ObjectIdentifier, fn func() KeyEncrypt)
- func Decrypt(data []byte, cert *x509.Certificate, pkey crypto.PrivateKey) ([]byte, error)
- func DecryptUsingPSK(data []byte, key []byte) ([]byte, error)
- func Encrypt(content []byte, recipients []*x509.Certificate, opts ...Opts) ([]byte, error)
- func EncryptUsingPSK(content []byte, key []byte, cipher Cipher) ([]byte, error)
- type Cipher
- type CipherCBC
- type CipherCCM
- type CipherCCMb
- type CipherCFB
- type CipherCFB8
- type CipherECB
- type CipherGCM
- type CipherGCMb
- type CipherOFB
- type KeyEncrypt
- type KeyEncryptWithRsa
- type KeyEncryptWithSM2
- type Opts
Constants ¶
This section is empty.
Variables ¶
var AES128CBC = CipherCBC{ // contains filtered or unexported fields }
AES128CBC is the 128-bit key AES cipher in CBC mode.
var AES128CCM = CipherCCM{ // contains filtered or unexported fields }
AES128CCM is the 128-bit key AES cipher in CCM mode.
var AES128CCMb = CipherCCMb{ // contains filtered or unexported fields }
AES128CCMb is the 128-bit key AES cipher in CCM mode.
var AES128CFB = CipherCFB{ // contains filtered or unexported fields }
AES128CFB is the 128-bit key AES cipher in CFB mode.
var AES128ECB = CipherECB{ // contains filtered or unexported fields }
AES128ECB is the 128-bit key AES cipher in ECB mode.
var AES128GCM = CipherGCM{ // contains filtered or unexported fields }
AES128GCM is the 128-bit key AES cipher in GCM mode.
var AES128GCMb = CipherGCMb{ // contains filtered or unexported fields }
AES128GCMb is the 128-bit key AES cipher in GCM mode.
var AES128OFB = CipherOFB{ // contains filtered or unexported fields }
AES128OFB is the 128-bit key AES cipher in OFB mode.
var AES192CBC = CipherCBC{ // contains filtered or unexported fields }
AES192CBC is the 192-bit key AES cipher in CBC mode.
var AES192CCM = CipherCCM{ // contains filtered or unexported fields }
AES192CCM is the 192-bit key AES cipher in CCM mode.
var AES192CCMb = CipherCCMb{ // contains filtered or unexported fields }
AES192CCMb is the 192-bit key AES cipher in CCM mode.
var AES192CFB = CipherCFB{ // contains filtered or unexported fields }
AES192CFB is the 192-bit key AES cipher in CFB mode.
var AES192ECB = CipherECB{ // contains filtered or unexported fields }
AES192ECB is the 192-bit key AES cipher in ECB mode.
var AES192GCM = CipherGCM{ // contains filtered or unexported fields }
AES192GCM is the 192-bit key AES cipher in GCM mode.
var AES192GCMb = CipherGCMb{ // contains filtered or unexported fields }
AES192GCMb is the 192-bit key AES cipher in GCM mode.
var AES192OFB = CipherOFB{ // contains filtered or unexported fields }
AES192OFB is the 192-bit key AES cipher in OFB mode.
var AES256CBC = CipherCBC{ // contains filtered or unexported fields }
AES256CBC is the 256-bit key AES cipher in CBC mode.
var AES256CCM = CipherCCM{ // contains filtered or unexported fields }
AES256CCM is the 256-bit key AES cipher in CCM mode.
var AES256CCMb = CipherCCMb{ // contains filtered or unexported fields }
AES256CCMb is the 256-bit key AES cipher in CCM mode.
var AES256CFB = CipherCFB{ // contains filtered or unexported fields }
AES256CFB is the 256-bit key AES cipher in CFB mode.
var AES256ECB = CipherECB{ // contains filtered or unexported fields }
AES256ECB is the 256-bit key AES cipher in ECB mode.
var AES256GCM = CipherGCM{ // contains filtered or unexported fields }
AES256GCM is the 256-bit key AES cipher in GCM mode.
var AES256GCMb = CipherGCMb{ // contains filtered or unexported fields }
AES256GCMb is the 256-bit key AES cipher in GCM mode.
var AES256OFB = CipherOFB{ // contains filtered or unexported fields }
AES256OFB is the 256-bit key AES cipher in OFB mode.
var DESCBC = CipherCBC{ // contains filtered or unexported fields }
DESCBC is the 56-bit key 3DES cipher in CBC mode.
var DESEDE3CBC = CipherCBC{ // contains filtered or unexported fields }
TripleDESCBC is the 168-bit key 3DES cipher in CBC mode.
var DefaultOpts = Opts{ Cipher: AES256CBC, KeyEncrypt: KeyEncryptRSA, }
默认配置
var ErrPSKNotProvided = errors.New("pkcs7: cannot encrypt content: PSK not provided")
var ErrUnsupportedEncryptionAlgorithm = errors.New("pkcs7: cannot encrypt content: only DES-CBC, AES-CBC, and AES-GCM supported")
var KeyEncryptRSA = KeyEncryptWithRsa{ // contains filtered or unexported fields }
KeyEncryptRSA
var KeyEncryptRSAESOAEP = KeyEncryptWithRsa{ // contains filtered or unexported fields }
KeyEncryptRSAESOAEP
var KeyEncryptRSASHA1 = KeyEncryptWithRsa{ // contains filtered or unexported fields }
KeyEncryptRSASHA1
var KeyEncryptRSASHA256 = KeyEncryptWithRsa{ // contains filtered or unexported fields }
KeyEncryptRSASHA256
var KeyEncryptRSASHA384 = KeyEncryptWithRsa{ // contains filtered or unexported fields }
KeyEncryptRSASHA384
var KeyEncryptRSASHA512 = KeyEncryptWithRsa{ // contains filtered or unexported fields }
KeyEncryptRSASHA512
var KeyEncryptSM2 = KeyEncryptWithSM2{ // contains filtered or unexported fields }
KeyEncryptSM2
var SM4CBC = CipherCBC{ // contains filtered or unexported fields }
SM4CBC is the 128-bit key SM4 cipher in CBC mode.
var SM4CCM = CipherCCM{ // contains filtered or unexported fields }
SM4CCM is the 128-bit key SM4 cipher in CCM mode.
var SM4CCMb = CipherCCMb{ // contains filtered or unexported fields }
SM4CCM is the 128-bit key SM4 cipher in CCM mode.
var SM4CFB = CipherCFB{ // contains filtered or unexported fields }
SM4CFB is the 128-bit key SM4 cipher in CFB mode.
var SM4CFB8 = CipherCFB8{ // contains filtered or unexported fields }
SM4CFB8 is the 128-bit key SM4 cipher in CFB mode.
var SM4ECB = CipherECB{ // contains filtered or unexported fields }
SM4ECB is the 128-bit key SM4 cipher in ECB mode.
var SM4GCM = CipherGCM{ // contains filtered or unexported fields }
SM4GCM is the 128-bit key SM4 cipher in GCM mode.
var SM4GCMb = CipherGCMb{ // contains filtered or unexported fields }
SM4GCMb is the 128-bit key SM4 cipher in GCM mode.
var SM4OFB = CipherOFB{ // contains filtered or unexported fields }
SM4OFB is the 128-bit key SM4 cipher in OFB mode.
Functions ¶
func AddkeyEncrypt ¶
func AddkeyEncrypt(oid asn1.ObjectIdentifier, fn func() KeyEncrypt)
添加 key 加密方式
func Decrypt ¶
func Decrypt(data []byte, cert *x509.Certificate, pkey crypto.PrivateKey) ([]byte, error)
解析
func DecryptUsingPSK ¶
DecryptUsingPSK decrypts encrypted data using caller provided pre-shared secret
Types ¶
type Cipher ¶
type Cipher interface { // oid OID() asn1.ObjectIdentifier // 值大小 KeySize() int // 加密, 返回: [加密后数据, 参数, error] Encrypt(key, plaintext []byte) ([]byte, []byte, error) // 解密 Decrypt(key, params, ciphertext []byte) ([]byte, error) }
加密接口
type CipherCBC ¶
type CipherCBC struct {
// contains filtered or unexported fields
}
cbc 模式加密
type CipherCCM ¶
type CipherCCM struct {
// contains filtered or unexported fields
}
ccm 模式加密
type CipherCCMb ¶
type CipherCCMb struct {
// contains filtered or unexported fields
}
ccm 模式加密
func (CipherCCMb) Decrypt ¶
func (this CipherCCMb) Decrypt(key, param, ciphertext []byte) ([]byte, error)
解密
type CipherCFB ¶
type CipherCFB struct {
// contains filtered or unexported fields
}
CFB 模式加密
type CipherCFB8 ¶
type CipherCFB8 struct {
// contains filtered or unexported fields
}
CFB8 模式加密
func (CipherCFB8) Decrypt ¶
func (this CipherCFB8) Decrypt(key, params, ciphertext []byte) ([]byte, error)
解密
type CipherECB ¶
type CipherECB struct {
// contains filtered or unexported fields
}
ecb 模式加密
type CipherGCM ¶
type CipherGCM struct {
// contains filtered or unexported fields
}
gcm 模式加密
type CipherGCMb ¶
type CipherGCMb struct {
// contains filtered or unexported fields
}
gcm 模式加密
func (CipherGCMb) Decrypt ¶
func (this CipherGCMb) Decrypt(key, param, ciphertext []byte) ([]byte, error)
解密
type CipherOFB ¶
type CipherOFB struct {
// contains filtered or unexported fields
}
OFB 模式加密
type KeyEncrypt ¶
type KeyEncrypt interface { // oid OID() asn1.ObjectIdentifier // 加密, 返回: [加密后数据, error] Encrypt(plaintext []byte, pkey crypto.PublicKey) ([]byte, error) // 解密 Decrypt(ciphertext []byte, pkey crypto.PrivateKey) ([]byte, error) }
非对称加密
type KeyEncryptWithRsa ¶
type KeyEncryptWithRsa struct {
// contains filtered or unexported fields
}
key 用 rsa 加密
func (KeyEncryptWithRsa) Decrypt ¶
func (this KeyEncryptWithRsa) Decrypt(ciphertext []byte, pkey crypto.PrivateKey) ([]byte, error)
解密
type KeyEncryptWithSM2 ¶
type KeyEncryptWithSM2 struct {
// contains filtered or unexported fields
}
key 用 sm2 加密
func (KeyEncryptWithSM2) Decrypt ¶
func (this KeyEncryptWithSM2) Decrypt(ciphertext []byte, pkey crypto.PrivateKey) ([]byte, error)
解密