2 // btls-x509-verify-param.h
5 // Created by Martin Baulig on 3/3/16.
6 // Copyright © 2016 Xamarin. All rights reserved.
9 #ifndef __btls__btls_x509_verify_param__
10 #define __btls__btls_x509_verify_param__
14 #include "btls-x509.h"
17 MONO_BTLS_X509_VERIFY_FLAGS_DEFAULT
= 0,
18 MONO_BTLS_X509_VERIFY_FLAGS_CRL_CHECK
= 1,
19 MONO_BTLS_X509_VERIFY_FLAGS_CRL_CHECK_ALL
= 2,
20 MONO_BTLS_X509_VERIFY_FLAGS_X509_STRICT
= 4
21 } MonoBtlsX509VerifyFlags
;
23 MONO_API MonoBtlsX509VerifyParam
*
24 mono_btls_x509_verify_param_new (void);
26 MONO_API MonoBtlsX509VerifyParam
*
27 mono_btls_x509_verify_param_from_store_ctx (MonoBtlsX509StoreCtx
*ctx
, X509_VERIFY_PARAM
*param
);
29 MONO_API MonoBtlsX509VerifyParam
*
30 mono_btls_x509_verify_param_copy (const MonoBtlsX509VerifyParam
*from
);
33 mono_btls_x509_verify_param_free (MonoBtlsX509VerifyParam
*param
);
35 MONO_API
const X509_VERIFY_PARAM
*
36 mono_btls_x509_verify_param_peek_param (const MonoBtlsX509VerifyParam
*param
);
39 mono_btls_x509_verify_param_can_modify (MonoBtlsX509VerifyParam
*param
);
41 MONO_API MonoBtlsX509VerifyParam
*
42 mono_btls_x509_verify_param_lookup (const char *name
);
45 mono_btls_x509_verify_param_set_name (MonoBtlsX509VerifyParam
*param
, const char *name
);
48 mono_btls_x509_verify_param_set_host (MonoBtlsX509VerifyParam
*param
, const char *host
, int namelen
);
51 mono_btls_x509_verify_param_add_host (MonoBtlsX509VerifyParam
*param
, const char *host
, int namelen
);
54 mono_btls_x509_verify_param_get_flags (MonoBtlsX509VerifyParam
*param
);
57 mono_btls_x509_verify_param_set_flags (MonoBtlsX509VerifyParam
*param
, uint64_t flags
);
59 MONO_API MonoBtlsX509VerifyFlags
60 mono_btls_x509_verify_param_get_mono_flags (MonoBtlsX509VerifyParam
*param
);
63 mono_btls_x509_verify_param_set_mono_flags (MonoBtlsX509VerifyParam
*param
, MonoBtlsX509VerifyFlags flags
);
66 mono_btls_x509_verify_param_set_purpose (MonoBtlsX509VerifyParam
*param
, MonoBtlsX509Purpose purpose
);
69 mono_btls_x509_verify_param_get_depth (MonoBtlsX509VerifyParam
*param
);
72 mono_btls_x509_verify_param_set_depth (MonoBtlsX509VerifyParam
*param
, int depth
);
75 mono_btls_x509_verify_param_set_time (MonoBtlsX509VerifyParam
*param
, int64_t time
);
78 mono_btls_x509_verify_param_get_peername (MonoBtlsX509VerifyParam
*param
);
80 #endif /* defined(__btls__btls_x509_verify_param__) */