.oid = PK_PKIX1_RSA_PSS_OID,
.id = GNUTLS_PK_RSA_PSS,
.curve = GNUTLS_ECC_CURVE_INVALID },
+ { .name = "RSA-OAEP",
+ .oid = PK_PKIX1_RSA_OAEP_OID,
+ .id = GNUTLS_PK_RSA_OAEP,
+ .curve = GNUTLS_ECC_CURVE_INVALID },
{ .name = "RSA (X.509)",
.oid = PK_X509_RSA_OID,
.id = GNUTLS_PK_RSA,
* gnutls_pk_algorithm_t:
* @GNUTLS_PK_UNKNOWN: Unknown public-key algorithm.
* @GNUTLS_PK_RSA: RSA public-key algorithm.
+ * @GNUTLS_PK_RSA_OAEP: RSA public-key algorithm, with OAEP padding.
* @GNUTLS_PK_RSA_PSS: RSA public-key algorithm, with PSS padding.
* @GNUTLS_PK_DSA: DSA public-key algorithm.
* @GNUTLS_PK_DH: Diffie-Hellman algorithm. Used to generate parameters.
GNUTLS_PK_GOST_12_512 = 10,
GNUTLS_PK_ECDH_X448 = 11,
GNUTLS_PK_EDDSA_ED448 = 12,
- GNUTLS_PK_MAX = GNUTLS_PK_EDDSA_ED448
+ GNUTLS_PK_RSA_OAEP = 13,
+ GNUTLS_PK_MAX = GNUTLS_PK_RSA_OAEP
} gnutls_pk_algorithm_t;
const char *gnutls_pk_algorithm_get_name(gnutls_pk_algorithm_t algorithm);
*/
#define PK_PKIX1_RSA_OID "1.2.840.113549.1.1.1"
#define PK_PKIX1_RSA_PSS_OID "1.2.840.113549.1.1.10"
+#define PK_PKIX1_RSA_OAEP_OID "1.2.840.113549.1.1.7"
#define PK_X509_RSA_OID "2.5.8.1.1"
#define PK_DSA_OID "1.2.840.10040.4.1"
#define PK_GOST_R3410_94_OID "1.2.643.2.2.20"
#endif
}
+ if (algorithm == GNUTLS_PK_RSA_OAEP)
+ continue;
+
ret = gnutls_x509_privkey_init(&pkey);
if (ret < 0) {
fail("gnutls_x509_privkey_init: %d\n", ret);