需求:公要证书格式 .cer 获取公钥用来加密

简单的demo

// CER_CERTIFICATE_RSA_Encrypt .cer公钥文件 RSA加密 (plainText 需要加密的信息, path 公钥证书地址)
func CER_CERTIFICATE_RSA_Encrypt(plainText []byte, path string) ([]byte, error) {
	// 读公钥文件
	cerKey, err := ioutil.ReadFile(path)
	if err != nil {
		return nil, err
	}
	tsamaxInfo := base64.StdEncoding.EncodeToString(cerKey)
	tsamaxCert := `
				-----BEGIN CERTIFICATE-----
				` + tsamaxInfo + `
				-----END CERTIFICATE-----`
	block, _ := pem.Decode([]byte(tsamaxCert))
	x509Cert, err := x509.ParseCertificate(block.Bytes)
	if err != nil {
		return nil, err
	}
	publicKey := x509Cert.PublicKey.(*rsa.PublicKey)
	// 对明文进行加密
	cipherText, err := rsa.EncryptPKCS1v15(rand.Reader, publicKey, plainText)
	if err != nil {
		return nil, err
	}
	// 返回密文
	return cipherText, nil
}