Documentation
¶
Index ¶
- func DecryptCBC(key, iv, data []byte) ([]byte, error)
- func DecryptCFB(key, iv, data []byte) ([]byte, error)
- func DecryptCTR(key, iv, data []byte) ([]byte, error)
- func DecryptECB(key, data []byte) ([]byte, error)
- func DecryptGCM(key, nonce []byte, data, aad []byte, opt *GCMOption) ([]byte, error)
- func DecryptOFB(key, iv, data []byte) ([]byte, error)
- func FormatPrivatePemRaw(raw string, pemType PrivatePEMType) string
- func FormatPublicPemRaw(raw string, pemType PublicPEMType) string
- func GenPKCS1Key(bitSize int) (privateKey, publicKey []byte, err error)
- func GenPKCS8Key(bitSize int) (privateKey, publicKey []byte, err error)
- func NewECBDecrypter(b cipher.Block) cipher.BlockMode
- func NewECBEncrypter(b cipher.Block) cipher.BlockMode
- func PfxToCert(pfxData []byte, password string) (tls.Certificate, error)
- type CipherText
- func EncryptCBC(key, iv, data []byte, paddingSize ...uint8) (*CipherText, error)
- func EncryptCFB(key, iv, data []byte) (*CipherText, error)
- func EncryptCTR(key, iv, data []byte) (*CipherText, error)
- func EncryptECB(key, data []byte, paddingSize ...uint8) (*CipherText, error)
- func EncryptGCM(key, nonce, data, aad []byte, opt *GCMOption) (*CipherText, error)
- func EncryptOFB(key, iv, data []byte) (*CipherText, error)
- type GCMOption
- type PrivateKey
- func (pk *PrivateKey) Decrypt(data []byte) ([]byte, error)
- func (pk *PrivateKey) DecryptOAEP(hash crypto.Hash, data []byte) ([]byte, error)
- func (pk *PrivateKey) Sign(hash crypto.Hash, data []byte) ([]byte, error)
- func (pk *PrivateKey) SignPSS(hash crypto.Hash, data []byte, opts *rsa.PSSOptions) ([]byte, error)
- type PrivatePEMType
- type PublicKey
- func (pk *PublicKey) Encrypt(data []byte) ([]byte, error)
- func (pk *PublicKey) EncryptOAEP(hash crypto.Hash, data []byte) ([]byte, error)
- func (pk *PublicKey) Verify(hash crypto.Hash, data, signature []byte) error
- func (pk *PublicKey) VerifyPSS(hash crypto.Hash, data, signature []byte, opts *rsa.PSSOptions) error
- type PublicPEMType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecryptCBC ¶
DecryptCBC AES-CBC 解密(pkcs#7)
func DecryptGCM ¶
DecryptGCM AES-GCM 解密 (默认:NonceSize = 12 & TagSize = 16)
func FormatPrivatePemRaw ¶
func FormatPrivatePemRaw(raw string, pemType PrivatePEMType) string
FormatPrivatePemRaw formats base64-encoded private key to PEM format
func FormatPublicPemRaw ¶
func FormatPublicPemRaw(raw string, pemType PublicPEMType) string
FormatPublicPemRaw formats base64-encoded public key to PEM format
func GenPKCS1Key ¶
GenPKCS1Key 生成 RSA PKCS#1 私钥和公钥
func GenPKCS8Key ¶
GenPKCS8Key 生成 RSA PKCS#8 私钥和公钥
func NewECBDecrypter ¶
NewECBDecrypter 生成ECB解密器
func NewECBEncrypter ¶
NewECBEncrypter 生成ECB加密器
Types ¶
type CipherText ¶
type CipherText struct {
// contains filtered or unexported fields
}
CipherText 加密文本
func EncryptCBC ¶
func EncryptCBC(key, iv, data []byte, paddingSize ...uint8) (*CipherText, error)
EncryptCBC AES-CBC 加密(pkcs#7, 默认填充BlockSize)
func EncryptECB ¶
func EncryptECB(key, data []byte, paddingSize ...uint8) (*CipherText, error)
EncryptECB AES-ECB 加密(pkcs#7, 默认填充BlockSize)
func EncryptGCM ¶
func EncryptGCM(key, nonce, data, aad []byte, opt *GCMOption) (*CipherText, error)
EncryptGCM AES-GCM 加密 (默认:NonceSize = 12 & TagSize = 16)
type PrivateKey ¶
type PrivateKey struct {
// contains filtered or unexported fields
}
PrivateKey RSA私钥
func PfxToPrivateKey ¶
func PfxToPrivateKey(pfxData []byte, password string) (*PrivateKey, error)
PfxToPrivateKey pfx(p12)证书生成RSA私钥
注意:证书需采用「TripleDES-SHA1」加密方式
func (*PrivateKey) Decrypt ¶
func (pk *PrivateKey) Decrypt(data []byte) ([]byte, error)
Decrypt RSA私钥 PKCS#1 v1.5 解密
func (*PrivateKey) DecryptOAEP ¶
DecryptOAEP RSA私钥 PKCS#1 OAEP 解密
func (*PrivateKey) SignPSS ¶
func (pk *PrivateKey) SignPSS(hash crypto.Hash, data []byte, opts *rsa.PSSOptions) ([]byte, error)
SignPSS RSA私钥签名(PSS填充)
type PrivatePEMType ¶
type PrivatePEMType string
const ( RSA_PRIVATE_KEY PrivatePEMType = "RSA PRIVATE KEY" // PKCS#1 PRIVATE_KEY PrivatePEMType = "PRIVATE KEY" // PKCS#8 )
type PublicKey ¶
type PublicKey struct {
// contains filtered or unexported fields
}
PublicKey RSA公钥
func NewPublicKey ¶
NewPublicKey 生成RSA公钥
X.509证书格式: -----BEGIN CERTIFICATE----- | -----END CERTIFICATE----- X.509证书转换PEM: openssl x509 -inform der -in cert.cer -out cert.pem
func (*PublicKey) EncryptOAEP ¶
EncryptOAEP RSA公钥 PKCS#1 OAEP 加密
type PublicPEMType ¶
type PublicPEMType string
const ( RSA_PUBLIC_KEY PublicPEMType = "RSA PUBLIC KEY" // PKCS#1 PUBLIC_KEY PublicPEMType = "PUBLIC KEY" // PKCS#8 CERTIFICATE PublicPEMType = "CERTIFICATE" // X.509 证书 )