Mercurial > projects > dstep
view dstep/security/SecKey.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 source
/** * 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.SecKey; import dstep.security.SecBase; import dstep.security.cssmtype; alias uint SecCredentialType; enum { kSecKeyKeyClass = 0, kSecKeyPrintName = 1, kSecKeyAlias = 2, kSecKeyPermanent = 3, kSecKeyPrivate = 4, kSecKeyModifiable = 5, kSecKeyLabel = 6, kSecKeyApplicationTag = 7, kSecKeyKeyCreator = 8, kSecKeyKeyType = 9, kSecKeyKeySizeInBits = 10, kSecKeyEffectiveKeySize = 11, kSecKeyStartDate = 12, kSecKeyEndDate = 13, kSecKeySensitive = 14, kSecKeyAlwaysSensitive = 15, kSecKeyExtractable = 16, kSecKeyNeverExtractable = 17, kSecKeyEncrypt = 18, kSecKeyDecrypt = 19, kSecKeyDerive = 20, kSecKeySign = 21, kSecKeyVerify = 22, kSecKeySignRecover = 23, kSecKeyVerifyRecover = 24, kSecKeyWrap = 25, kSecKeyUnwrap = 26 } enum { kSecCredentialTypeDefault = 0, kSecCredentialTypeWithUI, kSecCredentialTypeNoUI } extern (C) { uint SecKeyGetTypeID (); int SecKeyCreatePair (SecKeychainRef keychainRef, uint algorithm, uint keySizeInBits, ulong contextHandle, uint publicKeyUsage, uint publicKeyAttr, uint privateKeyUsage, uint privateKeyAttr, SecAccessRef initialAccess, SecKeyRef* publicKey, SecKeyRef* privateKey); int SecKeyGenerate (SecKeychainRef keychainRef, uint algorithm, uint keySizeInBits, ulong contextHandle, uint keyUsage, uint keyAttr, SecAccessRef initialAccess, SecKeyRef* keyRef); int SecKeyGetCSSMKey (SecKeyRef key, CSSM_KEY** cssmKey); int SecKeyGetCSPHandle (SecKeyRef keyRef, CSSM_CSP_HANDLE* cspHandle); int SecKeyGetCredentials (SecKeyRef keyRef, int operation, uint credentialType, CSSM_ACCESS_CREDENTIALS** outCredentials); }