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.djinniwith 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
Photoclass inherit fromIPhotoclass (don’t forget to update the include file!) - Under
ProtonMailnamespace, implement the methods created in the auto-generated interface class. e.g. implementIPhotoclass methods underProtonMailnamespace - Compile the framework for iOS using
build_pgp_ios_universal.sh
- In the
Build phasetab, add the newly generated files incopy filelist - 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)