aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service
diff options
context:
space:
mode:
authorAshley Hughes <spirit.returned@gmail.com>2014-02-01 17:01:03 +0000
committerAshley Hughes <spirit.returned@gmail.com>2014-02-01 17:01:03 +0000
commitaf5e01db8e847e0f77cfcf53daf2dd4b241aaee3 (patch)
treeaa9d21b44e30309cca1fac3f5edcf8c43fb76670 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service
parentb87f0b2658c471a5c4186f9c874ad52b070b5f1d (diff)
parent3f0f3cca6afa65dba4ff5868e5112cce39e2dc94 (diff)
downloadopen-keychain-af5e01db8e847e0f77cfcf53daf2dd4b241aaee3.tar.gz
open-keychain-af5e01db8e847e0f77cfcf53daf2dd4b241aaee3.tar.bz2
open-keychain-af5e01db8e847e0f77cfcf53daf2dd4b241aaee3.zip
create new keys without lots of extra certification
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java25
1 files changed, 12 insertions, 13 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
index b02e08dda..c7f26fe2b 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java
@@ -561,21 +561,17 @@ public class KeychainIntentService extends IntentService implements ProgressDial
int algorithm = data.getInt(GENERATE_KEY_ALGORITHM);
String passphrase = data.getString(GENERATE_KEY_SYMMETRIC_PASSPHRASE);
int keysize = data.getInt(GENERATE_KEY_KEY_SIZE);
- PGPSecretKey masterKey = null;
- if (data.containsKey(GENERATE_KEY_MASTER_KEY)) {
- masterKey = PgpConversionHelper.BytesToPGPSecretKey(data
- .getByteArray(GENERATE_KEY_MASTER_KEY));
- }
+ boolean masterKey = data.getBoolean(GENERATE_KEY_MASTER_KEY);
/* Operation */
PgpKeyOperation keyOperations = new PgpKeyOperation(this, this);
- PGPSecretKeyRing newKeyRing = keyOperations.createKey(algorithm, keysize,
+ PGPSecretKey newKey = keyOperations.createKey(algorithm, keysize,
passphrase, masterKey);
/* Output */
Bundle resultData = new Bundle();
resultData.putByteArray(RESULT_NEW_KEY,
- PgpConversionHelper.PGPSecretKeyRingToBytes(newKeyRing));
+ PgpConversionHelper.PGPSecretKeyToBytes(newKey));
OtherHelper.logDebugBundle(resultData, "resultData");
@@ -592,18 +588,21 @@ public class KeychainIntentService extends IntentService implements ProgressDial
/* Operation */
PgpKeyOperation keyOperations = new PgpKeyOperation(this, this);
- PGPSecretKeyRing masterKeyRing = keyOperations.createKey(Id.choice.algorithm.rsa,
- 4096, passphrase, null);
+ PGPSecretKey masterKey = keyOperations.createKey(Id.choice.algorithm.rsa,
+ 4096, passphrase, true);
+
+ PGPSecretKey subKey = keyOperations.createKey(Id.choice.algorithm.rsa,
+ 4096, passphrase, false);
- PGPSecretKeyRing subKeyRing = keyOperations.createKey(Id.choice.algorithm.rsa,
- 4096, passphrase, masterKeyRing.getSecretKey());
+ // TODO: default to one master for cert, one sub for encrypt and one sub
+ // for sign
/* Output */
Bundle resultData = new Bundle();
resultData.putByteArray(RESULT_NEW_KEY,
- PgpConversionHelper.PGPSecretKeyRingToBytes(masterKeyRing));
+ PgpConversionHelper.PGPSecretKeyToBytes(masterKey));
resultData.putByteArray(RESULT_NEW_KEY2,
- PgpConversionHelper.PGPSecretKeyRingToBytes(subKeyRing));
+ PgpConversionHelper.PGPSecretKeyToBytes(subKey));
OtherHelper.logDebugBundle(resultData, "resultData");