summaryrefslogtreecommitdiff
path: root/tests/basic.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2011-06-10 10:52:18 +0200
committerWerner Koch <wk@gnupg.org>2011-06-10 10:52:18 +0200
commitcaf4480811fffdf3b8677864e8d663a68f210e5c (patch)
tree3e1a19074a2227800a1aabd01b153296b99e7e92 /tests/basic.c
parenteac13cf8c49840fc9d33cf3a5f3c876abbab7446 (diff)
downloadlibgcrypt-caf4480811fffdf3b8677864e8d663a68f210e5c.tar.gz
Fixed leading zero problems in PSS and OAEP.
Diffstat (limited to 'tests/basic.c')
-rw-r--r--tests/basic.c48
1 files changed, 33 insertions, 15 deletions
diff --git a/tests/basic.c b/tests/basic.c
index 95cc7494..ca275f79 100644
--- a/tests/basic.c
+++ b/tests/basic.c
@@ -2391,6 +2391,7 @@ check_pubkey_crypt (int n, gcry_sexp_t skey, gcry_sexp_t pkey, int algo)
int dataidx;
static struct
{
+ int algo; /* If not 0 run test only if ALGO matches. */
const char *data;
const char *hint;
int unpadded;
@@ -2398,94 +2399,111 @@ check_pubkey_crypt (int n, gcry_sexp_t skey, gcry_sexp_t pkey, int algo)
int decrypt_expected_rc;
} datas[] =
{
- { "(data\n (flags pkcs1)\n"
+ { 0,
+ "(data\n (flags pkcs1)\n"
" (value #11223344556677889900AA#))\n",
NULL,
0,
0,
0 },
- { "(data\n (flags pkcs1)\n"
+ { 0,
+ "(data\n (flags pkcs1)\n"
" (value #11223344556677889900AA#))\n",
"(flags pkcs1)",
1,
0,
0 },
- { "(data\n (flags oaep)\n"
+ { GCRY_PK_RSA,
+ "(data\n (flags oaep)\n"
" (value #11223344556677889900AA#))\n",
"(flags oaep)",
1,
0,
0 },
- { "(data\n (flags oaep)\n (hash-algo sha1)\n"
+ { GCRY_PK_RSA,
+ "(data\n (flags oaep)\n (hash-algo sha1)\n"
" (value #11223344556677889900AA#))\n",
"(flags oaep)(hash-algo sha1)",
1,
0,
0 },
- { "(data\n (flags oaep)\n (hash-algo sha1)\n (label \"test\")\n"
+ { GCRY_PK_RSA,
+ "(data\n (flags oaep)\n (hash-algo sha1)\n (label \"test\")\n"
" (value #11223344556677889900AA#))\n",
"(flags oaep)(hash-algo sha1)(label \"test\")",
1,
0,
0 },
- { "(data\n (flags oaep)\n (hash-algo sha1)\n (label \"test\")\n"
+ { GCRY_PK_RSA,
+ "(data\n (flags oaep)\n (hash-algo sha1)\n (label \"test\")\n"
" (value #11223344556677889900AA#)\n"
" (random-override #4253647587980912233445566778899019283747#))\n",
"(flags oaep)(hash-algo sha1)(label \"test\")",
1,
0,
0 },
- { "(data\n (flags )\n" " (value #11223344556677889900AA#))\n",
+ { 0,
+ "(data\n (flags )\n" " (value #11223344556677889900AA#))\n",
NULL,
1,
0,
0 },
- { "(data\n (flags )\n" " (value #0090223344556677889900AA#))\n",
+ { 0,
+ "(data\n (flags )\n" " (value #0090223344556677889900AA#))\n",
NULL,
1,
0,
0 },
- { "(data\n (flags raw)\n" " (value #11223344556677889900AA#))\n",
+ { 0,
+ "(data\n (flags raw)\n" " (value #11223344556677889900AA#))\n",
NULL,
1,
0,
0 },
- { "(data\n (flags pkcs1)\n"
+ { 0,
+ "(data\n (flags pkcs1)\n"
" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\n",
NULL,
0,
GPG_ERR_CONFLICT,
0},
- { "(data\n (flags raw foo)\n"
+ { 0,
+ "(data\n (flags raw foo)\n"
" (hash sha1 #11223344556677889900AABBCCDDEEFF10203040#))\n",
NULL,
0,
GPG_ERR_INV_FLAG,
0},
- { "(data\n (flags raw)\n"
+ { 0,
+ "(data\n (flags raw)\n"
" (value #11223344556677889900AA#))\n",
"(flags oaep)",
1,
0,
GPG_ERR_ENCODING_PROBLEM },
- { "(data\n (flags oaep)\n"
+ { GCRY_PK_RSA,
+ "(data\n (flags oaep)\n"
" (value #11223344556677889900AA#))\n",
"(flags pkcs1)",
1,
0,
GPG_ERR_ENCODING_PROBLEM },
- { "(data\n (flags pss)\n"
+ { 0,
+ "(data\n (flags pss)\n"
" (value #11223344556677889900AA#))\n",
NULL,
0,
GPG_ERR_CONFLICT },
- { NULL }
+ { 0, NULL }
};
(void)n;
for (dataidx = 0; datas[dataidx].data; dataidx++)
{
+ if (datas[dataidx].algo && datas[dataidx].algo != algo)
+ continue;
+
if (verbose)
fprintf (stderr, " encryption/decryption test %d (algo %d)\n",
dataidx, algo);