SecCertificateSource.h [plain text]
#ifndef _SECURITY_SECCERTIFICATESOURCE_H_
#define _SECURITY_SECCERTIFICATESOURCE_H_
#include <CoreFoundation/CoreFoundation.h>
#include <Security/SecCertificate.h>
typedef struct SecCertificateSource *SecCertificateSourceRef;
typedef void(*SecCertificateSourceParents)(void *, CFArrayRef);
typedef bool(*CopyParents)(SecCertificateSourceRef source,
SecCertificateRef certificate,
void *context, SecCertificateSourceParents);
typedef CFArrayRef(*CopyConstraints)(SecCertificateSourceRef source,
SecCertificateRef certificate);
typedef bool(*Contains)(SecCertificateSourceRef source,
SecCertificateRef certificate);
struct SecCertificateSource {
CopyParents copyParents;
CopyConstraints copyUsageConstraints;
Contains contains;
};
bool SecCertificateSourceCopyParents(SecCertificateSourceRef source,
SecCertificateRef certificate,
void *context, SecCertificateSourceParents callback);
CFArrayRef SecCertificateSourceCopyUsageConstraints(SecCertificateSourceRef source,
SecCertificateRef certificate);
bool SecCertificateSourceContains(SecCertificateSourceRef source,
SecCertificateRef certificate);
SecCertificateSourceRef SecItemCertificateSourceCreate(CFArrayRef accessGroups);
void SecItemCertificateSourceDestroy(SecCertificateSourceRef source);
SecCertificateSourceRef SecMemoryCertificateSourceCreate(CFArrayRef certificates);
void SecMemoryCertificateSourceDestroy(SecCertificateSourceRef source);
extern const SecCertificateSourceRef kSecSystemAnchorSource;
#if TARGET_OS_IPHONE
extern const SecCertificateSourceRef kSecUserAnchorSource;
#endif
extern const SecCertificateSourceRef kSecCAIssuerSource;
#if TARGET_OS_OSX
extern const SecCertificateSourceRef kSecLegacyCertificateSource;
extern const SecCertificateSourceRef kSecLegacyAnchorSource;
#endif
#endif