Summary: Isode provides a number of APIs which allow integrators and product developers to build components that allow client programs to connect to, query and modify data in the directory.
dsapi_identity.h
Go to the documentation of this file.
1 /* Emacs mode: -*- C -*- */
2 
3 /*
4  * Copyright (c) 2009-2013, Isode Limited, London, England.
5  * All rights reserved.
6  *
7  * Acquisition and use of this software and related materials for any
8  * purpose requires a written licence agreement from Isode
9  * Limited, or a written licence from an organisation licenced by Isode
10  * Limited to grant such a licence.
11  */
12 
13 /*
14  * dsapi_identity.h
15  *
16  * Isode-internal API methods for holding an "identity". Mostly for
17  * strong authentication, SASL/TLS.
18  */
19 
20 #ifndef ISODE_DSAPI_IDENTITY_H
21 #define ISODE_DSAPI_IDENTITY_H
22 
23 #include <stddef.h>
24 #include <sys/stat.h>
25 #include <isode/ds/dsapi/dsapi_cdecl.h>
27 #include <openssl/evp.h>
28 #include <isode/crypto/x509.h>
29 
58 LIBDSAPI_CDECL
60  DS_Identity **identity_p,
61  const char *authz,
62  const char *pkcs12_file,
63  const char *pkcs12_pphr);
64 
76 LIBDSAPI_CDECL
78  const DS_Identity *source_identity,
79  DS_Identity **copy_p);
80 
86 LIBDSAPI_CDECL
88  DS_Identity *identity,
89  const char **authz);
90 
96 LIBDSAPI_CDECL
98  DS_Identity *identity,
99  X509_IDENTITY **id);
100 
107 LIBDSAPI_CDECL
109  DS_Identity *identity,
110  X509_CERT_CTX **ctx);
111 
117 LIBDSAPI_CDECL
118 void DS_Identity_Delete (
119  DS_Identity *identity);
120 
126 LIBDSAPI_CDECL
128  DS_Identity *identity,
129  X509 **cert);
130 
136 LIBDSAPI_CDECL
138  DS_Identity *identity,
139  DS_AttrValList **av_list_p);
140 
146 LIBDSAPI_CDECL
148  DS_Identity *identity,
149  DS_AttrValList **av_list_p);
150 
155 #endif /* ISODE_DSAPI_IDENTITY_H */
void DS_Identity_Delete(DS_Identity *identity)
Delete identity.
DS_Status DS_Identity_Copy(const DS_Identity *source_identity, DS_Identity **copy_p)
Copy a DS_Identity structure.
DS_Status DS_Identity_get_authz(DS_Identity *identity, const char **authz)
Get the authz identity [in] Handle authz [out] authz (may be NULL)
struct DS_Identity DS_Identity
Definition: dsapi_types.h:57
DS_Status DS_Identity_get_user_certificate(DS_Identity *identity, X509 **cert)
Extract the certificate identity [in] Handle cert [out] cert.
DS_Status DS_Identity_get_cert_ctx(DS_Identity *identity, X509_CERT_CTX **ctx)
Get the underlying X509_CERT_CTX. This generates one if necessary (from the identity and the applicat...
DS_Status DS_Identity_New(DS_Identity **identity_p, const char *authz, const char *pkcs12_file, const char *pkcs12_pphr)
Create an identity.
DS_Status DS_Identity_get_trust_anchors(DS_Identity *identity, DS_AttrValList **av_list_p)
Get trust anchors identity [in] Handle av_list_p [out] certificates.
struct DS_AttrVal DS_AttrValList
Definition: dsapi_types.h:133
Directory API type definitions and forward declarations of private types.
DS_Status DS_Identity_get_certificates(DS_Identity *identity, DS_AttrValList **av_list_p)
Get untrusted certificates identity [in] Handle av_list_p [out] certificates.
DS_Status DS_Identity_get_ident(DS_Identity *identity, X509_IDENTITY **id)
Get the underlying X509_IDENTITY identity [in] Handle id [out] underlying identity.
DS_Status
Definition: dsapi_const.h:66