#define GNUTLS_PK_ANY (gnutls_pk_algorithm_t) - 1
#define GNUTLS_PK_NONE (gnutls_pk_algorithm_t) - 2
-#define GNUTLS_PK_IS_RSA(pk) \
- ((pk) == GNUTLS_PK_RSA || (pk) == GNUTLS_PK_RSA_PSS)
+#define GNUTLS_PK_IS_RSA(pk) \
+ ((pk) == GNUTLS_PK_RSA || (pk) == GNUTLS_PK_RSA_PSS || \
+ (pk) == GNUTLS_PK_RSA_OAEP)
/* Message buffers (mbuffers) structures */
switch (pk) {
case GNUTLS_PK_RSA_PSS:
+ case GNUTLS_PK_RSA_OAEP:
case GNUTLS_PK_RSA: {
gnutls_datum_t m, e;
switch (pk) {
case GNUTLS_PK_RSA:
- case GNUTLS_PK_RSA_PSS: {
+ case GNUTLS_PK_RSA_PSS:
+ case GNUTLS_PK_RSA_OAEP: {
ret = _gnutls_params_get_rsa_raw(&key->params, &m, &e, &d, &p,
&q, &u, &exp1, &exp2,
GNUTLS_EXPORT_FLAG_NO_LZ);
cleanup:
switch (pk) {
case GNUTLS_PK_RSA_PSS:
+ case GNUTLS_PK_RSA_OAEP:
case GNUTLS_PK_RSA: {
gnutls_free(m.data);
gnutls_free(e.data);
switch (pk) {
case GNUTLS_PK_RSA_PSS:
+ case GNUTLS_PK_RSA_OAEP:
case GNUTLS_PK_RSA:
pub->params[0] = _gnutls_mpi_copy(priv->params[0]);
pub->params[1] = _gnutls_mpi_copy(priv->params[1]);
switch (params->algo) {
case GNUTLS_PK_RSA:
case GNUTLS_PK_RSA_PSS:
+ case GNUTLS_PK_RSA_OAEP:
return _gnutls_mpi_get_nbits(params->params[RSA_MODULUS]);
case GNUTLS_PK_DSA:
return _gnutls_mpi_get_nbits(params->params[DSA_P]);