aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/gpg.c4
-rw-r--r--g10/keygen.c7
-rw-r--r--g10/options.h2
3 files changed, 10 insertions, 3 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index a11ea12f9..4ab5ba1b0 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -285,6 +285,7 @@ enum cmd_and_opt_values
oAlwaysTrust,
oTrustModel,
oForceOwnertrust,
+ oNoAutoTrustNewKey,
oSetFilename,
oForYourEyesOnly,
oNoForYourEyesOnly,
@@ -692,6 +693,7 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oAutoCheckTrustDB, "auto-check-trustdb", "@"),
ARGPARSE_s_n (oNoAutoCheckTrustDB, "no-auto-check-trustdb", "@"),
ARGPARSE_s_s (oForceOwnertrust, "force-ownertrust", "@"),
+ ARGPARSE_s_n (oNoAutoTrustNewKey, "no-auto-trust-new-key", "@"),
#endif
@@ -2969,6 +2971,8 @@ main (int argc, char **argv)
}
break;
+ case oNoAutoTrustNewKey: opt.flags.no_auto_trust_new_key = 1; break;
+
case oCompliance:
{
int compliance = gnupg_parse_compliance_option
diff --git a/g10/keygen.c b/g10/keygen.c
index 01eec57ac..bde0f3217 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -5568,9 +5568,10 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,
keyid_from_pk (pk, pk->main_keyid);
register_trusted_keyid (pk->main_keyid);
- update_ownertrust (ctrl, pk,
- ((get_ownertrust (ctrl, pk) & ~TRUST_MASK)
- | TRUST_ULTIMATE ));
+ if (!opt.flags.no_auto_trust_new_key)
+ update_ownertrust (ctrl, pk,
+ ((get_ownertrust (ctrl, pk) & ~TRUST_MASK)
+ | TRUST_ULTIMATE ));
gen_standard_revoke (ctrl, pk, cache_nonce);
diff --git a/g10/options.h b/g10/options.h
index f502ace61..958d3fb87 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -254,6 +254,8 @@ struct
unsigned int full_timestrings:1;
/* Force signing keys even if a key signature already exists. */
unsigned int force_sign_key:1;
+ /* On key generation do not set the ownertrust. */
+ unsigned int no_auto_trust_new_key:1;
} flags;
/* Linked list of ways to find a key if the key isn't on the local