diff options
author | Ashley Hughes <spirit.returned@gmail.com> | 2014-02-01 17:01:03 +0000 |
---|---|---|
committer | Ashley Hughes <spirit.returned@gmail.com> | 2014-02-01 17:01:03 +0000 |
commit | af5e01db8e847e0f77cfcf53daf2dd4b241aaee3 (patch) | |
tree | aa9d21b44e30309cca1fac3f5edcf8c43fb76670 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service | |
parent | b87f0b2658c471a5c4186f9c874ad52b070b5f1d (diff) | |
parent | 3f0f3cca6afa65dba4ff5868e5112cce39e2dc94 (diff) | |
download | open-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.java | 25 |
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"); |