Mercurial > projects > dstep
diff dstep/security/SecTrustSettings.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/security/SecTrustSettings.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,56 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Jul 22, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.security.SecTrustSettings; + +import dstep.corefoundation.CoreFoundation; +import dstep.security.SecBase; +import dstep.security.SecCertificate; +import dstep.security.SecKeychain; +import dstep.security.SecPolicy; +import dstep.security.cssmtype; + +alias uint SecTrustSettingsKeyUsage; +alias uint SecTrustSettingsResult; +alias uint SecTrustSettingsDomain; + +enum +{ + kSecTrustSettingsKeyUseSignature = 0x00000001, + kSecTrustSettingsKeyUseEnDecryptData = 0x00000002, + kSecTrustSettingsKeyUseEnDecryptKey = 0x00000004, + kSecTrustSettingsKeyUseSignCert = 0x00000008, + kSecTrustSettingsKeyUseSignRevocation = 0x00000010, + kSecTrustSettingsKeyUseKeyExchange = 0x00000020, + kSecTrustSettingsKeyUseAny = 0xffffffff +} + +enum +{ + kSecTrustSettingsResultInvalid = 0, + kSecTrustSettingsResultTrustRoot, + kSecTrustSettingsResultTrustAsRoot, + kSecTrustSettingsResultDeny, + kSecTrustSettingsResultUnspecified +} + +enum +{ + kSecTrustSettingsDomainUser = 0, + kSecTrustSettingsDomainAdmin, + kSecTrustSettingsDomainSystem +} + +extern (C) +{ + int SecTrustSettingsCopyTrustSettings (SecCertificateRef certRef, uint domain, CFArrayRef* trustSettings); + int SecTrustSettingsSetTrustSettings (SecCertificateRef certRef, uint domain, CFTypeRef trustSettingsDictOrArray); + int SecTrustSettingsRemoveTrustSettings (SecCertificateRef certRef, uint domain); + int SecTrustSettingsCopyCertificates (uint domain, CFArrayRef* certArray); + int SecTrustSettingsCopyModificationDate (SecCertificateRef certRef, uint domain, CFDateRef* modificationDate); + int SecTrustSettingsCreateExternalRepresentation (uint domain, CFDataRef* trustSettings); + int SecTrustSettingsImportExternalRepresentation (uint domain, CFDataRef trustSettings); +} \ No newline at end of file