All Projects → lastochkanetwork → EasyPGP

lastochkanetwork / EasyPGP

Licence: Apache-2.0 License
No description or website provided.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to EasyPGP

Enchive
Encrypted personal archives
Stars: ✭ 527 (+2673.68%)
Mutual labels:  encryption, pgp
Iostreams
IOStreams is an incredibly powerful streaming library that makes changes to file formats, compression, encryption, or storage mechanism transparent to the application.
Stars: ✭ 84 (+342.11%)
Mutual labels:  encryption, pgp
Objectivepgp
OpenPGP library for iOS and macOS
Stars: ✭ 557 (+2831.58%)
Mutual labels:  encryption, pgp
aliceandbob-desktop
🔐 A free, light and easy to use desktop tool to generate PGP key pairs, encrypt and decrypt messages.
Stars: ✭ 25 (+31.58%)
Mutual labels:  encryption, pgp
Bouncy Gpg
Make using Bouncy Castle with OpenPGP fun again!
Stars: ✭ 164 (+763.16%)
Mutual labels:  encryption, pgp
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
Stars: ✭ 5,101 (+26747.37%)
Mutual labels:  encryption, gomobile
Helm Secrets
DEPRECATED A helm plugin that help manage secrets with Git workflow and store them anywhere
Stars: ✭ 1,129 (+5842.11%)
Mutual labels:  encryption, pgp
Felony
🔑🔥📈 Next Level PGP
Stars: ✭ 3,478 (+18205.26%)
Mutual labels:  encryption, pgp
Zeyple
Postfix filter/hook to automatically encrypt outgoing emails with PGP/GPG
Stars: ✭ 122 (+542.11%)
Mutual labels:  encryption, pgp
Encrypt.to
Send encrypted PGP messages with one click
Stars: ✭ 116 (+510.53%)
Mutual labels:  encryption, pgp
Sephia Five
A secure and PGP enabled webmail module for Phosphorus Five
Stars: ✭ 21 (+10.53%)
Mutual labels:  encryption, pgp
Magicpad
MagicPad is an encryption suite for beginners. It is designed to be run standalone via the browser or executable (Electron).
Stars: ✭ 174 (+815.79%)
Mutual labels:  encryption, pgp
Opaquemail
.NET email library and proxy supporting IMAP, POP3, and SMTP with S/MIME and PGP.
Stars: ✭ 91 (+378.95%)
Mutual labels:  encryption, pgp
Helm Secrets
Successor of zendesk/helm-secrets - A helm plugin that help manage secrets with Git workflow and store them anywhere
Stars: ✭ 165 (+768.42%)
Mutual labels:  encryption, pgp
aliceandbob
🔐 A free, light and easy to use client-side tool to generate PGP key pairs, encrypt and decrypt messages.
Stars: ✭ 24 (+26.32%)
Mutual labels:  encryption, pgp
xipher
🔒 Simple perfect xor encryption cipher 🔒
Stars: ✭ 61 (+221.05%)
Mutual labels:  encryption
eme
EME (Encrypt-Mix-Encrypt) wide-block encryption for Go.
Stars: ✭ 30 (+57.89%)
Mutual labels:  encryption
Secure-File-Manager
Secure File Manager is open source file manager for keeping your files in safe.
Stars: ✭ 89 (+368.42%)
Mutual labels:  encryption
Effer
Encrypted CLI Notepad written in Rust
Stars: ✭ 12 (-36.84%)
Mutual labels:  encryption
drive-mobile
internxt.com
Stars: ✭ 43 (+126.32%)
Mutual labels:  encryption

EasyPGP

PGP library for iOS and Android available through gomobile

To use EasyPGP you would need to install gomobile tools, following tutorial. You also need to patch gomobile to support Uint64:

diff --git a/bind/gen.go b/bind/gen.go
index 546c5cf4..0428230f 100644
--- a/bind/gen.go
+++ b/bind/gen.go
@@ -232,7 +232,9 @@ func (g *Generator) cgoType(t types.Type) string {
 			return "int64_t"
 		case types.Uint8: // types.Byte
 			return "uint8_t"
-		// TODO(crawshaw): case types.Uint, types.Uint16, types.Uint32, types.Uint64:
+		// TODO(crawshaw): case types.Uint, types.Uint16, types.Uint32:
+		case types.Uint64:
+			return "uint64_t"
 		case types.Float32:
 			return "float"
 		case types.Float64, types.UntypedFloat:

After that you can build EasyPGP.framework:

go get github.com/lastochkanetwork/easypgp

# For iOS
gomobile bind -target=ios -o EasyPGP.framework  github.com/lastochkanetwork/easypgp

# For Android
gomobile bind -target=android  github.com/lastochkanetwork/easypgp

After adding EasyPGP.framework to your project you can straight-forward use it.

Swift example:

let pubkey1  = "-----BEGIN PGP PUBLIC KEY BLOCK-----...."
let privkey1 = "-----BEGIN PGP PRIVATE KEY BLOCK-----...."
let pubkey2  = "-----BEGIN PGP PUBLIC KEY BLOCK-----...."
let privkey2 = "-----BEGIN PGP PRIVATE KEY BLOCK-----...."


let sender = EasypgpNewKeyPairWithKeys(pubkey1, privkey1)
let receiver = EasypgpNewKeyPairWithKeys(pubkey2, nil)
let receiver_with_privkey = EasypgpNewKeyPairWithKeys(pubkey2, privkey2)


let msg = EasypgpEncryptAndSign("hello, world!", receiver, sender, nil)
NSLog((msg?.cipher())!)

let decrypted = EasypgpDecryptAndVerify(msg, receiver_with_privkey, nil)
NSLog((decrypted?.text())!)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].