This is the main crypto library on mobile since 2015. we have migrated to gopenpgp start from 2018-q4. The OpenPGP part is deprecated now. we use this library to generate RSA key only.
VCard is currently in used in the iOS-mail application.
Copyright (c) 2019 Proton Technologies AG
Please see LICENSE file for the license.
OpenPGP part originally forked from https://github.com/calccrypto/OpenPGP.
The VCard parser is porting from https://github.com/mangstadt/ez-vcard which is java based.
user the build scripts in Scripts
folder
Simply use xcode.
Go to Android_Build
folder and run sh build_android.sh
Please check sample projects in the OpenPGP.xcworkspace
.
When patching, we need to be based on these versions
- vinnie
- commit on Mar 1, 2017
- 9235609703ae7cb59c356dbb18da1d642bfd4bbb
- ezvcard
- commit on Feb 19, 2017
- 234f3a9bb9c540dac3de67864e339bfa6e528f19
Make sure you have djinni
installed
- Update
open_pgp.djinni
with all the interfaces and method you need - Run
OpenPGP/Scripts/bridge/build_bridge.sh
- Let the class inherit from the auto-generated classes. e.g. let
Photo
class inherit fromIPhoto
class (don’t forget to update the include file!) - Under
ProtonMail
namespace, implement the methods created in the auto-generated interface class. e.g. implementIPhoto
class methods underProtonMail
namespace - Compile the framework for iOS using
build_pgp_ios_universal.sh
- In the
Build phase
tab, add the newly generated files incopy file
list - In folder
OpenPGPlib/ezvcard
, add those new documents to the target
In ProtonMail iOS repo
- Run
pod install --no-repo-update
- add quoted_printable encoding
- add generic compare function
- add a base class called cloneable
- add a base class called compareable
- split this libaray to 3 different libaraies: OpenPGP, Vinnie, VCard
- refactore OpenPGP part
- Catalyst supporting (in Beta)