/* X509 specific stuff */
gnutls_x509_trust_list_t tlist;
+ unsigned flags; /* gnutls_certificate_flags */
unsigned int verify_flags; /* flags to be used at
* certificate verification.
*/
gnutls_datum_t sig = {NULL, 0};
int pk, pk2, ret;
+ if (res->flags & GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH)
+ return 0;
+
pk =
gnutls_pubkey_get_pk_algorithm(res->certs[res->ncerts - 1].
cert_list[0].pubkey, NULL);
unsigned int
gnutls_certificate_get_verify_flags(gnutls_certificate_credentials_t res);
+/**
+ * gnutls_certificate_flags:
+ * @GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH: Skip the key and certificate matching check.
+ *
+ * Enumeration of different certificate credentials flags.
+ */
+typedef enum gnutls_certificate_flags {
+ GNUTLS_CERTIFICATE_SKIP_KEY_CERT_MATCH = 1
+} gnutls_certificate_flags;
+
+void gnutls_certificate_set_flags(gnutls_certificate_credentials_t,
+ unsigned flags);
+
void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t
res, unsigned int max_bits,
unsigned int max_depth);
gnutls_x509_crt_set_subject_unique_id;
gnutls_x509_crt_set_issuer_unique_id;
gnutls_global_init_skip;
+ gnutls_certificate_set_flags;
local:
*;
};
res->params_func = func;
}
+/**
+ * gnutls_certificate_set_flags:
+ * @res: is a gnutls_certificate_credentials_t type
+ * @flags: are the flags of #gnutls_certificate_flags type
+ *
+ * This function will set flags to tweak the operation of
+ * the credentials structure. See the #gnutls_certificate_flags enumerations
+ * for more information on the available flags.
+ *
+ **/
+void
+gnutls_certificate_set_flags(gnutls_certificate_credentials_t res,
+ unsigned int flags)
+{
+ res->flags = flags;
+}
+
/**
* gnutls_certificate_set_verify_flags:
* @res: is a gnutls_certificate_credentials_t type