mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg: New option --require-pqc-encryption
* g10/gpg.c (oRequirePQCEncryption): New. (opts): Add option. (main): Set option. * g10/mainproc.c (print_pkenc_list): Print a warning. * g10/options.h (flags): Add flag require_pqc_encryption. * g10/getkey.c (finish_lookup): Skip non-pqc keys if the option is set. -- GnuPG-bug-id: 6815
This commit is contained in:
parent
a45243548e
commit
2958e5e4cf
5 changed files with 36 additions and 1 deletions
17
g10/getkey.c
17
g10/getkey.c
|
@ -3779,6 +3779,16 @@ finish_lookup (kbnode_t keyblock, unsigned int req_usage, int want_exact,
|
|||
continue;
|
||||
}
|
||||
|
||||
if (opt.flags.require_pqc_encryption
|
||||
&& (req_usage & PUBKEY_USAGE_ENC)
|
||||
&& pk->pubkey_algo != PUBKEY_ALGO_KYBER)
|
||||
{
|
||||
if (DBG_LOOKUP)
|
||||
log_debug ("\tsubkey is not quantum-resistant\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (want_secret)
|
||||
{
|
||||
int secret_key_avail = agent_probe_secret_key (NULL, pk);
|
||||
|
@ -3857,6 +3867,13 @@ finish_lookup (kbnode_t keyblock, unsigned int req_usage, int want_exact,
|
|||
if (DBG_LOOKUP)
|
||||
log_debug ("\tprimary key has expired\n");
|
||||
}
|
||||
else if (opt.flags.require_pqc_encryption
|
||||
&& (req_usage & PUBKEY_USAGE_ENC)
|
||||
&& pk->pubkey_algo != PUBKEY_ALGO_KYBER)
|
||||
{
|
||||
if (DBG_LOOKUP)
|
||||
log_debug ("\tprimary key is not quantum-resistant\n");
|
||||
}
|
||||
else /* Okay. */
|
||||
{
|
||||
if (DBG_LOOKUP)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue