2 // btls-x509-store-ctx.h
5 // Created by Martin Baulig on 3/3/16.
6 // Copyright © 2016 Xamarin. All rights reserved.
9 #ifndef __btls__btls_x509_store_ctx__
10 #define __btls__btls_x509_store_ctx__
14 #include "btls-x509-chain.h"
15 #include "btls-x509-name.h"
16 #include "btls-x509-store.h"
17 #include "btls-x509-verify-param.h"
19 MONO_API MonoBtlsX509StoreCtx
*
20 mono_btls_x509_store_ctx_from_ptr (X509_STORE_CTX
*ptr
);
22 MONO_API MonoBtlsX509StoreCtx
*
23 mono_btls_x509_store_ctx_new (void);
25 MONO_API MonoBtlsX509StoreCtx
*
26 mono_btls_x509_store_ctx_up_ref (MonoBtlsX509StoreCtx
*ctx
);
29 mono_btls_x509_store_ctx_free (MonoBtlsX509StoreCtx
*ctx
);
32 mono_btls_x509_store_ctx_get_error (MonoBtlsX509StoreCtx
*ctx
, const char **error_string
);
35 mono_btls_x509_store_ctx_get_error_depth (MonoBtlsX509StoreCtx
*ctx
);
37 MONO_API MonoBtlsX509Chain
*
38 mono_btls_x509_store_ctx_get_chain (MonoBtlsX509StoreCtx
*ctx
);
41 mono_btls_x509_store_ctx_get_current_cert (MonoBtlsX509StoreCtx
*ctx
);
44 mono_btls_x509_store_ctx_get_current_issuer (MonoBtlsX509StoreCtx
*ctx
);
47 mono_btls_x509_store_ctx_init (MonoBtlsX509StoreCtx
*ctx
,
48 MonoBtlsX509Store
*store
, MonoBtlsX509Chain
*chain
);
51 mono_btls_x509_store_ctx_set_param (MonoBtlsX509StoreCtx
*ctx
, MonoBtlsX509VerifyParam
*param
);
54 mono_btls_x509_store_ctx_get_by_subject (MonoBtlsX509StoreCtx
*ctx
, MonoBtlsX509Name
*name
);
57 mono_btls_x509_store_ctx_verify_cert (MonoBtlsX509StoreCtx
*ctx
);
59 MONO_API MonoBtlsX509VerifyParam
*
60 mono_btls_x509_store_ctx_get_verify_param (MonoBtlsX509StoreCtx
*ctx
);
63 mono_btls_x509_store_ctx_get_foo (MonoBtlsX509StoreCtx
*ctx
);
65 MONO_API MonoBtlsX509Chain
*
66 mono_btls_x509_store_ctx_get_untrusted (MonoBtlsX509StoreCtx
*ctx
);
68 #endif /* defined(__btls__btls_x509_store_ctx__) */