2010-07-16 16:13:12 -04:00
|
|
|
/*
|
2014-04-08 05:46:41 -04:00
|
|
|
* Copyright (C) 2010-2014 Thialfihar <thi@thialfihar.org>
|
2010-07-16 16:13:12 -04:00
|
|
|
*
|
2014-04-08 05:37:38 -04:00
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
2010-07-16 16:13:12 -04:00
|
|
|
*
|
2014-04-08 05:37:38 -04:00
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
2010-07-16 16:13:12 -04:00
|
|
|
*
|
2014-04-08 05:37:38 -04:00
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2010-07-16 16:13:12 -04:00
|
|
|
*/
|
|
|
|
|
2013-01-16 08:31:16 -05:00
|
|
|
package org.sufficientlysecure.keychain;
|
2010-07-16 16:13:12 -04:00
|
|
|
|
2014-06-10 14:57:48 -04:00
|
|
|
import android.os.Build;
|
2010-07-16 16:13:12 -04:00
|
|
|
import android.os.Environment;
|
|
|
|
|
2014-04-14 07:48:20 -04:00
|
|
|
import org.spongycastle.bcpg.CompressionAlgorithmTags;
|
2014-03-13 15:39:14 -04:00
|
|
|
import org.spongycastle.jce.provider.BouncyCastleProvider;
|
2014-03-25 14:11:20 -04:00
|
|
|
import org.sufficientlysecure.keychain.remote.ui.AppsListActivity;
|
2014-03-16 18:27:52 -04:00
|
|
|
import org.sufficientlysecure.keychain.ui.DecryptActivity;
|
|
|
|
import org.sufficientlysecure.keychain.ui.EncryptActivity;
|
|
|
|
import org.sufficientlysecure.keychain.ui.KeyListActivity;
|
2014-03-13 15:39:14 -04:00
|
|
|
|
2010-07-16 16:13:12 -04:00
|
|
|
public final class Constants {
|
2012-03-09 10:27:29 -05:00
|
|
|
|
2013-09-09 08:03:58 -04:00
|
|
|
public static final boolean DEBUG = BuildConfig.DEBUG;
|
2012-11-15 20:34:21 -05:00
|
|
|
|
2013-01-16 08:45:15 -05:00
|
|
|
public static final String TAG = "Keychain";
|
2012-06-20 08:55:36 -04:00
|
|
|
|
2013-01-16 08:31:16 -05:00
|
|
|
public static final String PACKAGE_NAME = "org.sufficientlysecure.keychain";
|
2013-01-08 06:58:21 -05:00
|
|
|
|
2013-09-06 08:14:54 -04:00
|
|
|
// as defined in http://tools.ietf.org/html/rfc3156, section 7
|
|
|
|
public static final String NFC_MIME = "application/pgp-keys";
|
2012-06-20 08:27:45 -04:00
|
|
|
|
2014-02-01 10:34:42 -05:00
|
|
|
// used by QR Codes (Guardian Project, Monkeysphere compatiblity)
|
|
|
|
public static final String FINGERPRINT_SCHEME = "openpgp4fpr";
|
|
|
|
|
2013-09-15 10:42:08 -04:00
|
|
|
// Not BC due to the use of Spongy Castle for Android
|
|
|
|
public static final String SC = BouncyCastleProvider.PROVIDER_NAME;
|
|
|
|
public static final String BOUNCY_CASTLE_PROVIDER_NAME = SC;
|
|
|
|
|
2013-01-16 08:31:16 -05:00
|
|
|
public static final String INTENT_PREFIX = PACKAGE_NAME + ".action.";
|
2012-06-20 08:27:45 -04:00
|
|
|
|
2014-06-05 17:22:21 -04:00
|
|
|
public static final String CUSTOM_CONTACT_DATA_MIME_TYPE = "vnd.android.cursor.item/vnd.org.sufficientlysecure.keychain.key";
|
|
|
|
|
2014-06-23 16:25:42 -04:00
|
|
|
// TODO: Resource/Asset?
|
|
|
|
public static final String SKS_KEYSERVERS_NET_CA =
|
2014-06-23 16:46:59 -04:00
|
|
|
"-----BEGIN CERTIFICATE-----\n" +
|
|
|
|
"MIIFizCCA3OgAwIBAgIJAK9zyLTPn4CPMA0GCSqGSIb3DQEBBQUAMFwxCzAJBgNV\n" +
|
|
|
|
"BAYTAk5PMQ0wCwYDVQQIDARPc2xvMR4wHAYDVQQKDBVza3Mta2V5c2VydmVycy5u\n" +
|
|
|
|
"ZXQgQ0ExHjAcBgNVBAMMFXNrcy1rZXlzZXJ2ZXJzLm5ldCBDQTAeFw0xMjEwMDkw\n" +
|
|
|
|
"MDMzMzdaFw0yMjEwMDcwMDMzMzdaMFwxCzAJBgNVBAYTAk5PMQ0wCwYDVQQIDARP\n" +
|
|
|
|
"c2xvMR4wHAYDVQQKDBVza3Mta2V5c2VydmVycy5uZXQgQ0ExHjAcBgNVBAMMFXNr\n" +
|
|
|
|
"cy1rZXlzZXJ2ZXJzLm5ldCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC\n" +
|
|
|
|
"ggIBANdsWy4PXWNUCkS3L//nrd0GqN3dVwoBGZ6w94Tw2jPDPifegwxQozFXkG6I\n" +
|
|
|
|
"6A4TK1CJLXPvfz0UP0aBYyPmTNadDinaB9T4jIwd4rnxl+59GiEmqkN3IfPsv5Jj\n" +
|
|
|
|
"MkKUmJnvOT0DEVlEaO1UZIwx5WpfprB3mR81/qm4XkAgmYrmgnLXd/pJDAMk7y1F\n" +
|
|
|
|
"45b5zWofiD5l677lplcIPRbFhpJ6kDTODXh/XEdtF71EAeaOdEGOvyGDmCO0GWqS\n" +
|
|
|
|
"FDkMMPTlieLA/0rgFTcz4xwUYj/cD5e0ZBuSkYsYFAU3hd1cGfBue0cPZaQH2HYx\n" +
|
|
|
|
"Qk4zXD8S3F4690fRhr+tki5gyG6JDR67aKp3BIGLqm7f45WkX1hYp+YXywmEziM4\n" +
|
|
|
|
"aSbGYhx8hoFGfq9UcfPEvp2aoc8u5sdqjDslhyUzM1v3m3ZGbhwEOnVjljY6JJLx\n" +
|
|
|
|
"MxagxnZZSAY424ZZ3t71E/Mn27dm2w+xFRuoy8JEjv1d+BT3eChM5KaNwrj0IO/y\n" +
|
|
|
|
"u8kFIgWYA1vZ/15qMT+tyJTfyrNVV/7Df7TNeWyNqjJ5rBmt0M6NpHG7CrUSkBy9\n" +
|
|
|
|
"p8JhimgjP5r0FlEkgg+lyD+V79H98gQfVgP3pbJICz0SpBQf2F/2tyS4rLm+49rP\n" +
|
|
|
|
"fcOajiXEuyhpcmzgusAj/1FjrtlynH1r9mnNaX4e+rLWzvU5AgMBAAGjUDBOMB0G\n" +
|
|
|
|
"A1UdDgQWBBTkwyoJFGfYTVISTpM8E+igjdq28zAfBgNVHSMEGDAWgBTkwyoJFGfY\n" +
|
|
|
|
"TVISTpM8E+igjdq28zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4ICAQAR\n" +
|
|
|
|
"OXnYwu3g1ZjHyley3fZI5aLPsaE17cOImVTehC8DcIphm2HOMR/hYTTL+V0G4P+u\n" +
|
|
|
|
"gH+6xeRLKSHMHZTtSBIa6GDL03434y9CBuwGvAFCMU2GV8w92/Z7apkAhdLToZA/\n" +
|
|
|
|
"X/iWP2jeaVJhxgEcH8uPrnSlqoPBcKC9PrgUzQYfSZJkLmB+3jEa3HKruy1abJP5\n" +
|
|
|
|
"gAdQvwvcPpvYRnIzUc9fZODsVmlHVFBCl2dlu/iHh2h4GmL4Da2rRkUMlbVTdioB\n" +
|
|
|
|
"UYIvMycdOkpH5wJftzw7cpjsudGas0PARDXCFfGyKhwBRFY7Xp7lbjtU5Rz0Gc04\n" +
|
|
|
|
"lPrhDf0pFE98Aw4jJRpFeWMjpXUEaG1cq7D641RpgcMfPFvOHY47rvDTS7XJOaUT\n" +
|
|
|
|
"BwRjmDt896s6vMDcaG/uXJbQjuzmmx3W2Idyh3s5SI0GTHb0IwMKYb4eBUIpQOnB\n" +
|
|
|
|
"cE77VnCYqKvN1NVYAqhWjXbY7XasZvszCRcOG+W3FqNaHOK/n/0ueb0uijdLan+U\n" +
|
|
|
|
"f4p1bjbAox8eAOQS/8a3bzkJzdyBNUKGx1BIK2IBL9bn/HravSDOiNRSnZ/R3l9G\n" +
|
|
|
|
"ZauX0tu7IIDlRCILXSyeazu0aj/vdT3YFQXPcvt5Fkf5wiNTo53f72/jYEJd6qph\n" +
|
|
|
|
"WrpoKqrwGwTpRUCMhYIUt65hsTxCiJJ5nKe39h46sg==\n" +
|
2014-06-23 16:25:42 -04:00
|
|
|
"-----END CERTIFICATE-----";
|
|
|
|
|
2014-06-10 14:57:48 -04:00
|
|
|
public static boolean KITKAT = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
|
|
|
|
|
2014-03-13 15:39:14 -04:00
|
|
|
public static final class Path {
|
2013-09-09 08:03:58 -04:00
|
|
|
public static final String APP_DIR = Environment.getExternalStorageDirectory()
|
2014-04-01 12:49:19 -04:00
|
|
|
+ "/OpenKeychain";
|
2014-04-05 17:40:11 -04:00
|
|
|
public static final String APP_DIR_FILE = APP_DIR + "/export.asc";
|
2010-07-16 16:13:12 -04:00
|
|
|
}
|
|
|
|
|
2014-03-13 15:39:14 -04:00
|
|
|
public static final class Pref {
|
2012-03-09 12:43:10 -05:00
|
|
|
public static final String DEFAULT_ENCRYPTION_ALGORITHM = "defaultEncryptionAlgorithm";
|
|
|
|
public static final String DEFAULT_HASH_ALGORITHM = "defaultHashAlgorithm";
|
2014-04-02 09:36:32 -04:00
|
|
|
public static final String DEFAULT_ASCII_ARMOR = "defaultAsciiArmor";
|
2012-03-09 12:43:10 -05:00
|
|
|
public static final String DEFAULT_MESSAGE_COMPRESSION = "defaultMessageCompression";
|
|
|
|
public static final String DEFAULT_FILE_COMPRESSION = "defaultFileCompression";
|
2014-04-02 09:31:03 -04:00
|
|
|
public static final String PASSPHRASE_CACHE_TTL = "passphraseCacheTtl";
|
2012-03-09 12:43:10 -05:00
|
|
|
public static final String LANGUAGE = "language";
|
|
|
|
public static final String FORCE_V3_SIGNATURES = "forceV3Signatures";
|
|
|
|
public static final String KEY_SERVERS = "keyServers";
|
2014-06-24 05:26:52 -04:00
|
|
|
public static final String KEY_SERVERS_DEFAULT_VERSION = "keyServersDefaultVersion";
|
2010-08-17 17:49:34 -04:00
|
|
|
}
|
|
|
|
|
2014-03-13 15:39:14 -04:00
|
|
|
public static final class Defaults {
|
2014-06-24 05:26:52 -04:00
|
|
|
public static final String KEY_SERVERS = "hkps://pool.sks-keyservers.net, subkeys.pgp.net, hkps://pgp.mit.edu";
|
|
|
|
public static final int KEY_SERVERS_VERSION = 2;
|
2010-07-16 16:13:12 -04:00
|
|
|
}
|
2010-09-11 19:21:53 -04:00
|
|
|
|
2014-03-16 18:27:52 -04:00
|
|
|
public static final class DrawerItems {
|
|
|
|
public static final Class KEY_LIST = KeyListActivity.class;
|
|
|
|
public static final Class ENCRYPT = EncryptActivity.class;
|
|
|
|
public static final Class DECRYPT = DecryptActivity.class;
|
2014-03-25 14:11:20 -04:00
|
|
|
public static final Class REGISTERED_APPS_LIST = AppsListActivity.class;
|
2014-04-01 12:49:19 -04:00
|
|
|
public static final Class[] ARRAY = new Class[]{
|
|
|
|
KEY_LIST,
|
|
|
|
ENCRYPT,
|
|
|
|
DECRYPT,
|
|
|
|
REGISTERED_APPS_LIST
|
|
|
|
};
|
2014-03-16 18:27:52 -04:00
|
|
|
}
|
2014-04-14 07:48:20 -04:00
|
|
|
|
|
|
|
public static final class choice {
|
|
|
|
public static final class algorithm {
|
2014-04-14 07:52:09 -04:00
|
|
|
// TODO: legacy reasons :/ better: PublicKeyAlgorithmTags
|
2014-04-14 07:48:20 -04:00
|
|
|
public static final int dsa = 0x21070001;
|
|
|
|
public static final int elgamal = 0x21070002;
|
|
|
|
public static final int rsa = 0x21070003;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final class compression {
|
2014-04-14 07:52:09 -04:00
|
|
|
// TODO: legacy reasons :/ better: CompressionAlgorithmTags.UNCOMPRESSED
|
2014-04-14 07:48:20 -04:00
|
|
|
public static final int none = 0x21070001;
|
|
|
|
public static final int zlib = CompressionAlgorithmTags.ZLIB;
|
|
|
|
public static final int bzip2 = CompressionAlgorithmTags.BZIP2;
|
|
|
|
public static final int zip = CompressionAlgorithmTags.ZIP;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final class key {
|
|
|
|
public static final int none = 0;
|
|
|
|
public static final int symmetric = -1;
|
|
|
|
}
|
2010-07-16 16:13:12 -04:00
|
|
|
}
|