diff options
Diffstat (limited to 'g10/sign.c')
-rw-r--r-- | g10/sign.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/g10/sign.c b/g10/sign.c index 8cf5be7f5..8acf1b239 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -656,7 +656,8 @@ make_keysig_packet( PKT_signature **ret_sig, PKT_public_key *pk, MD_HANDLE md; assert( (sigclass >= 0x10 && sigclass <= 0x13) - || sigclass == 0x20 || sigclass == 0x18 || sigclass == 0x30 ); + || sigclass == 0x20 || sigclass == 0x18 + || sigclass == 0x30 || sigclass == 0x28 ); if( !digest_algo ) { switch( sk->pubkey_algo ) { case PUBKEY_ALGO_DSA: digest_algo = DIGEST_ALGO_SHA1; break; @@ -669,7 +670,7 @@ make_keysig_packet( PKT_signature **ret_sig, PKT_public_key *pk, /* hash the public key certificate and the user id */ hash_public_key( md, pk ); - if( sigclass == 0x18 ) { /* subkey binding */ + if( sigclass == 0x18 || sigclass == 0x28 ) { /* subkey binding/revocation*/ hash_public_key( md, subpk ); } else if( sigclass != 0x20 ) { |