VOID_FUNC(void, OQS_destroy, (void), ())
VOID_FUNC(void, OQS_SHA3_set_callbacks, (struct OQS_SHA3_callbacks *new_callbacks), (new_callbacks))
VOID_FUNC(void, OQS_randombytes_custom_algorithm, (void (*algorithm_ptr)(uint8_t *, size_t)), (algorithm_ptr))
+FUNC(int, OQS_KEM_alg_is_enabled, (const char *method_name), (method_name))
FUNC(OQS_KEM *, OQS_KEM_new, (const char *method_name), (method_name))
FUNC(OQS_STATUS, OQS_KEM_keypair, (const OQS_KEM *kem, uint8_t *public_key, uint8_t *secret_key), (kem, public_key, secret_key))
FUNC(OQS_STATUS, OQS_KEM_encaps, (const OQS_KEM *kem, uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key), (kem, ciphertext, shared_secret, public_key))
OQS_KEM *kem = NULL;
OQS_STATUS rc;
- if (_gnutls_liboqs_ensure() < 0)
+ if (_gnutls_liboqs_ensure() < 0 ||
+ !GNUTLS_OQS_FUNC(OQS_KEM_alg_is_enabled)(
+ OQS_KEM_alg_kyber_768))
return gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
kem = GNUTLS_OQS_FUNC(OQS_KEM_new)(OQS_KEM_alg_kyber_768);
OQS_KEM *kem = NULL;
OQS_STATUS rc;
- if (_gnutls_liboqs_ensure() < 0)
+ if (_gnutls_liboqs_ensure() < 0 ||
+ !GNUTLS_OQS_FUNC(OQS_KEM_alg_is_enabled)(
+ OQS_KEM_alg_kyber_768))
return gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
kem = GNUTLS_OQS_FUNC(OQS_KEM_new)(OQS_KEM_alg_kyber_768);
return 1;
#ifdef HAVE_LIBOQS
case GNUTLS_PK_EXP_KYBER768:
- return _gnutls_liboqs_ensure() == 0;
+ return _gnutls_liboqs_ensure() == 0 &&
+ GNUTLS_OQS_FUNC(OQS_KEM_alg_is_enabled)(
+ OQS_KEM_alg_kyber_768);
#endif
default:
return 0;
break;
#ifdef HAVE_LIBOQS
case GNUTLS_PK_EXP_KYBER768:
- if (_gnutls_liboqs_ensure() < 0) {
+ if (_gnutls_liboqs_ensure() < 0 ||
+ !GNUTLS_OQS_FUNC(OQS_KEM_alg_is_enabled)(
+ OQS_KEM_alg_kyber_768)) {
ret = gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
goto cleanup;
}
OQS_KEM *kem = NULL;
OQS_STATUS rc;
-#ifdef HAVE_LIBOQS
- if (_gnutls_liboqs_ensure() < 0) {
+ if (_gnutls_liboqs_ensure() < 0 ||
+ !GNUTLS_OQS_FUNC(OQS_KEM_alg_is_enabled)(
+ OQS_KEM_alg_kyber_768)) {
ret = gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
goto cleanup;
}
-#endif
not_approved = true;
}
#ifdef HAVE_LIBOQS
case GNUTLS_PK_EXP_KYBER768:
- ret = _gnutls_liboqs_ensure();
- if (ret < 0)
+ if (_gnutls_liboqs_ensure() < 0 ||
+ !GNUTLS_OQS_FUNC(OQS_KEM_alg_is_enabled)(
+ OQS_KEM_alg_kyber_768))
ret = gnutls_assert_val(GNUTLS_E_UNKNOWN_PK_ALGORITHM);
break;
#endif