summaryrefslogtreecommitdiff
path: root/g10/sign.c
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-02-09 15:59:54 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-02-09 15:59:54 +0900
commit979221d85a7560cff764e23c0d97554ab9c3d853 (patch)
treee5bfb84cf05797a66f31e33d6a64a57d497e969e /g10/sign.c
parent929e941c10903b80c933e483a1610240bd52286d (diff)
downloadgpg2-979221d85a7560cff764e23c0d97554ab9c3d853.tar.gz
gpg2-979221d85a7560cff764e23c0d97554ab9c3d853.tar.bz2
gpg2-979221d85a7560cff764e23c0d97554ab9c3d853.zip
Imported Upstream version 2.1.1upstream/2.1.1
Diffstat (limited to 'g10/sign.c')
-rw-r--r--g10/sign.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/g10/sign.c b/g10/sign.c
index e7d4a68..2724513 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -700,8 +700,11 @@ write_signature_packets (SK_LIST sk_list, IOBUF out, gcry_md_hd_t hash,
if (gcry_md_copy (&md, hash))
BUG ();
- build_sig_subpkt_from_sig (sig);
- mk_notation_policy_etc (sig, pk, NULL);
+ if (sig->version >= 4)
+ {
+ build_sig_subpkt_from_sig (sig);
+ mk_notation_policy_etc (sig, NULL, pk);
+ }
hash_sigversion_to_magic (md, sig);
gcry_md_final (md);
@@ -899,13 +902,12 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr,
for (sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next )
{
if (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_DSA
- || (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_EDDSA
- && !openpgp_oid_is_ed25519 (sk_rover->pk->pkey[1])))
+ || sk_rover->pk->pubkey_algo == PUBKEY_ALGO_ECDSA)
{
int temp_hashlen = (gcry_mpi_get_nbits
(sk_rover->pk->pkey[1]));
- if (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_EDDSA)
+ if (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_ECDSA)
temp_hashlen = ecdsa_qbits_from_Q (temp_hashlen);
temp_hashlen = (temp_hashlen+7)/8;
@@ -915,7 +917,7 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr,
if (hint.digest_length<temp_hashlen)
hint.digest_length=temp_hashlen;
}
- /* FIXME: need toall gpg-agent */
+ /* FIXME: need to check gpg-agent for this. */
/* else if (sk_rover->pk->is_protected */
/* && sk_rover->pk->protect.s2k.mode == 1002) */
/* smartcard = 1; */