Documentation ¶
Overview ¶
Package helper contains several functions with a simple interface to extend usability and compatibility with gomobile
Index ¶
- func DecryptAttachment(keyPacket []byte, dataPacket []byte, keyRing *crypto.KeyRing) (*crypto.PlainMessage, error)
- func DecryptMessageArmored(privateKey string, passphrase []byte, ciphertext string) (plaintext string, err error)
- func DecryptMessageWithPassword(password []byte, ciphertext string) (plaintext string, err error)
- func DecryptVerifyAttachment(publicKey, privateKey string, passphrase, keyPacket, dataPacket []byte, ...) (plainData []byte, err error)
- func DecryptVerifyMessageArmored(publicKey, privateKey string, passphrase []byte, ciphertext string) (plaintext string, err error)
- func EncryptAttachment(plainData []byte, fileName string, keyRing *crypto.KeyRing) (*crypto.PGPSplitMessage, error)
- func EncryptMessageArmored(key, plaintext string) (ciphertext string, err error)
- func EncryptMessageWithPassword(password []byte, plaintext string) (ciphertext string, err error)
- func EncryptSignAttachment(publicKey, privateKey string, passphrase []byte, fileName string, ...) (keyPacket, dataPacket, signature []byte, err error)
- func EncryptSignMessageArmored(publicKey, privateKey string, passphrase []byte, plaintext string) (ciphertext string, err error)
- func GenerateKey(name, email string, passphrase []byte, keyType string, bits int) (string, error)
- func GetJsonSHA256Fingerprints(publicKey string) ([]byte, error)
- func GetSHA256Fingerprints(publicKey string) ([]string, error)
- func SignCleartextMessage(keyRing *crypto.KeyRing, text string) (string, error)
- func SignCleartextMessageArmored(privateKey string, passphrase []byte, text string) (string, error)
- func UpdatePrivateKeyPassphrase(privateKey string, oldPassphrase, newPassphrase []byte) (string, error)
- func VerifyCleartextMessage(keyRing *crypto.KeyRing, armored string, verifyTime int64) (string, error)
- func VerifyCleartextMessageArmored(publicKey, armored string, verifyTime int64) (string, error)
- type ExplicitVerifyMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecryptAttachment ¶
func DecryptAttachment(keyPacket []byte, dataPacket []byte, keyRing *crypto.KeyRing) (*crypto.PlainMessage, error)
DecryptAttachment takes a keypacket and datpacket and returns a decrypted PlainMessage Specifically designed for attachments rather than text messages.
func DecryptMessageArmored ¶
func DecryptMessageArmored( privateKey string, passphrase []byte, ciphertext string, ) (plaintext string, err error)
DecryptMessageArmored decrypts an armored PGP message given a private key and its passphrase.
func DecryptMessageWithPassword ¶
DecryptMessageWithPassword decrypts an armored message with a random token. The algorithm is derived from the armoring.
func DecryptVerifyAttachment ¶
func DecryptVerifyAttachment( publicKey, privateKey string, passphrase, keyPacket, dataPacket []byte, armoredSignature string, ) (plainData []byte, err error)
DecryptVerifyAttachment decrypts and verifies an attachment split into the keyPacket, dataPacket and an armored (!) signature, given a publicKey, and a privateKey with its passphrase. Returns the plain data or an error on signature verification failure.
func DecryptVerifyMessageArmored ¶
func DecryptVerifyMessageArmored( publicKey, privateKey string, passphrase []byte, ciphertext string, ) (plaintext string, err error)
DecryptVerifyMessageArmored decrypts an armored PGP message given a private key and its passphrase and verifies the embedded signature. Returns the plain data or an error on signature verification failure.
func EncryptAttachment ¶
func EncryptAttachment(plainData []byte, fileName string, keyRing *crypto.KeyRing) (*crypto.PGPSplitMessage, error)
EncryptAttachment encrypts a file given a plainData and a fileName. Returns a PGPSplitMessage containing a session key packet and symmetrically encrypted data. Specifically designed for attachments rather than text messages.
func EncryptMessageArmored ¶
EncryptMessageArmored generates an armored PGP message given a plaintext and an armored public key.
func EncryptMessageWithPassword ¶
EncryptMessageWithPassword encrypts a string with a passphrase using AES256.
func EncryptSignAttachment ¶
func EncryptSignAttachment( publicKey, privateKey string, passphrase []byte, fileName string, plainData []byte, ) (keyPacket, dataPacket, signature []byte, err error)
EncryptSignAttachment encrypts an attachment using a detached signature, given a publicKey, a privateKey and its passphrase, the filename, and the unencrypted file data. Returns keypacket, dataPacket and unarmored (!) signature separate.
func EncryptSignMessageArmored ¶
func EncryptSignMessageArmored( publicKey, privateKey string, passphrase []byte, plaintext string, ) (ciphertext string, err error)
EncryptSignMessageArmored generates an armored signed PGP message given a plaintext and an armored public key a private key and its passphrase.
func GenerateKey ¶
GenerateKey generates a key of the given keyType ("rsa" or "x25519"), encrypts it, and returns an armored string. If keyType is "rsa", bits is the RSA bitsize of the key. If keyType is "x25519" bits is unused.
func GetJsonSHA256Fingerprints ¶
GetJsonSHA256Fingerprints returns the SHA256 fingeprints of key and subkeys, encoded in JSON, since gomobile can not handle arrays.
func GetSHA256Fingerprints ¶
func SignCleartextMessage ¶
SignCleartextMessage signs text given a private keyring, canonicalizes and trims the newlines, and returns the PGP-compliant special armoring.
func SignCleartextMessageArmored ¶
SignCleartextMessageArmored signs text given a private key and its passphrase, canonicalizes and trims the newlines, and returns the PGP-compliant special armoring.
func UpdatePrivateKeyPassphrase ¶
func UpdatePrivateKeyPassphrase( privateKey string, oldPassphrase, newPassphrase []byte, ) (string, error)
UpdatePrivateKeyPassphrase decrypts the given armored privateKey with oldPassphrase, re-encrypts it with newPassphrase, and returns the new armored key.
Types ¶
type ExplicitVerifyMessage ¶
type ExplicitVerifyMessage struct { Message *crypto.PlainMessage SignatureVerificationError *crypto.SignatureVerificationError }
func DecryptExplicitVerify ¶
func DecryptExplicitVerify( pgpMessage *crypto.PGPMessage, privateKeyRing, publicKeyRing *crypto.KeyRing, verifyTime int64, ) (*ExplicitVerifyMessage, error)
DecryptExplicitVerify decrypts an armored PGP message given a private key and its passphrase and verifies the embedded signature. Returns the plain data or an error on signature verification failure.