Skip to content

Commit

Permalink
corrected SIG enablement checks (openssl#185)
Browse files Browse the repository at this point in the history
  • Loading branch information
baentsch committed May 12, 2020
1 parent 02e19d1 commit 16fd22f
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
6 changes: 3 additions & 3 deletions apps/speed.c
Original file line number Diff line number Diff line change
Expand Up @@ -1862,11 +1862,11 @@ int speed_main(int argc, char **argv)
#ifndef OPENSSL_NO_OQSSIG
if (strcmp(*argv, "oqssig") == 0) {
for (loop = 0; loop < OSSL_NELEM(oqssig_doit); loop++)
oqssig_doit[loop] = OQS_SIG_alg_is_enabled(OQS_SIG_alg_identifier(loop));
oqssig_doit[loop] = OQS_SIG_alg_is_enabled(get_oqs_alg_name(oqssl_sig_nids_list[loop]));
continue;
}
if (found(*argv, oqssig_choices, &i)) {
oqssig_doit[i] = 2*OQS_SIG_alg_is_enabled(OQS_SIG_alg_identifier(i));
oqssig_doit[i] = 2*OQS_SIG_alg_is_enabled(get_oqs_alg_name(oqssl_sig_nids_list[i]));
continue;
}
#endif
Expand Down Expand Up @@ -1984,7 +1984,7 @@ int speed_main(int argc, char **argv)
#endif
#ifndef OPENSSL_NO_OQSSIG
for (i = 0; i < OQSSIG_NUM; i++)
oqssig_doit[i] = OQS_SIG_alg_is_enabled(OQS_SIG_alg_identifier(i));
oqssig_doit[i] = OQS_SIG_alg_is_enabled(get_oqs_alg_name(oqssl_sig_nids_list[i]));
#endif
}
for (i = 0; i < ALGOR_NUM; i++)
Expand Down
4 changes: 3 additions & 1 deletion crypto/ec/oqs_meth.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ int* get_oqssl_sig_nids() {
/*
* Maps OpenSSL NIDs to OQS IDs
*/
static char* get_oqs_alg_name(int openssl_nid)
char* get_oqs_alg_name(int openssl_nid)
{
switch (openssl_nid)
{
Expand Down Expand Up @@ -464,6 +464,8 @@ static int oqs_key_init(OQS_KEY **p_oqs_key, int nid, oqs_key_type_t keytype) {
goto err;
}
oqs_key->nid = nid;
if (!OQS_SIG_alg_is_enabled(oqs_alg_name))
fprintf(stderr, "Warning: OQS algorithm '%s' not enabled.\n", oqs_alg_name);
oqs_key->s = OQS_SIG_new(oqs_alg_name);
if (oqs_key->s == NULL) {
/* TODO: Perhaps even check if the alg is available earlier in the stack. */
Expand Down
1 change: 1 addition & 0 deletions include/openssl/evp.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ const char *OQSKEM_options(void);
const char *OQSSIG_options(void);
int oqs_size(const EVP_PKEY *pkey);
int* get_oqssl_sig_nids();
char* get_oqs_alg_name(int openssl_nid);


#ifdef __cplusplus
Expand Down

0 comments on commit 16fd22f

Please sign in to comment.