Add a simple (raw) PKCS#1 padding mode
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Sun, 22 Dec 2013 13:12:28 +0000 (17:12 +0400)
committerWerner Koch <wk@gnupg.org>
Tue, 4 Mar 2014 10:00:12 +0000 (11:00 +0100)
commitea8d597726305274214224757b32730644e12bd8
treee416eb64049683d4f54353d30a8649995c28dab1
parent6be3032048ee2466511d2384fcf2d28b856219b2
Add a simple (raw) PKCS#1 padding mode

* src/cipher.h (PUBKEY_ENC_PKCS1_RAW): New.
* cipher/pubkey-util.c (_gcry_pk_util_parse_flaglist): Handle pkcs1-raw
  flag.
* cipher/pubkey-util.c (_gcry_pk_util_data_to_mpi):
  Handle s-exp like (data (flags pkcs1-raw) (value xxxxx))
* cipher/rsa-common.c (_gcry_rsa_pkcs1_encode_raw_for_sig):
  PKCS#1-encode data with embedded hash OID for signature verification.
* tests/basic.c (check_pubkey_sign): Add tests for s-exps with pkcs1-raw
  flag.

--
Allow user to specify (flags pkcs1-raw) to enable pkcs1 padding of raw
value (no hash algorithm is specified). It is up to the user to verify
that the passed value is properly formatted and includes DER-encoded
ASN OID of the used hash function.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
cipher/pubkey-internal.h
cipher/pubkey-util.c
cipher/rsa-common.c
src/cipher.h
tests/basic.c