create keys with fixed timestamp

This commit is contained in:
Vincent Breitmoser 2015-05-28 14:41:26 +02:00
parent 724726a4fd
commit 62e65a8240

View File

@ -156,7 +156,7 @@ public class PgpKeyOperation {
}
/** Creates new secret key. */
private PGPKeyPair createKey(SubkeyAdd add, OperationLog log, int indent) {
private PGPKeyPair createKey(SubkeyAdd add, Date creationTime, OperationLog log, int indent) {
try {
// Some safety checks
@ -254,7 +254,7 @@ public class PgpKeyOperation {
}
// build new key pair
return new JcaPGPKeyPair(algorithm, keyGen.generateKeyPair(), new Date());
return new JcaPGPKeyPair(algorithm, keyGen.generateKeyPair(), creationTime);
} catch(NoSuchProviderException | InvalidAlgorithmParameterException e) {
throw new RuntimeException(e);
@ -300,8 +300,10 @@ public class PgpKeyOperation {
return new PgpEditKeyResult(PgpEditKeyResult.RESULT_ERROR, log, null);
}
Date creationTime = new Date();
subProgressPush(10, 30);
PGPKeyPair keyPair = createKey(add, log, indent);
PGPKeyPair keyPair = createKey(add, creationTime, log, indent);
subProgressPop();
// return null if this failed (an error will already have been logged by createKey)
@ -328,7 +330,7 @@ public class PgpKeyOperation {
masterSecretKey.getEncoded(), new JcaKeyFingerprintCalculator());
subProgressPush(50, 100);
CryptoInputParcel cryptoInput = new CryptoInputParcel(new Date(), new Passphrase(""));
CryptoInputParcel cryptoInput = new CryptoInputParcel(creationTime, new Passphrase(""));
return internal(sKR, masterSecretKey, add.mFlags, add.mExpiry, cryptoInput, saveParcel, log, indent);
} catch (PGPException e) {
@ -976,7 +978,7 @@ public class PgpKeyOperation {
(i-1) * (100 / saveParcel.mAddSubKeys.size()),
i * (100 / saveParcel.mAddSubKeys.size())
);
PGPKeyPair keyPair = createKey(add, log, indent);
PGPKeyPair keyPair = createKey(add, cryptoInput.getSignatureTime(), log, indent);
subProgressPop();
if (keyPair == null) {
log.add(LogType.MSG_MF_ERROR_PGP, indent +1);