]> git.saurik.com Git - apple/security.git/blame - sec/Security/SecItemConstants.c
Security-55471.14.4.tar.gz
[apple/security.git] / sec / Security / SecItemConstants.c
CommitLineData
b1ab9ed8 1/*
427c49bc
A
2 * Copyright (c) 2006-2008,2010-2013 Apple Inc. All Rights Reserved.
3 *
b1ab9ed8 4 * @APPLE_LICENSE_HEADER_START@
427c49bc 5 *
b1ab9ed8
A
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
427c49bc 12 *
b1ab9ed8
A
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
427c49bc 20 *
b1ab9ed8
A
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24#define __CONSTANT_CFSTRINGS__ 1
25#include <CoreFoundation/CFString.h>
26
27/* String constant declarations */
28
29#define SEC_CONST_DECL(k,v) CFTypeRef k = (CFTypeRef)(CFSTR(v));
30
31/* Class Key Constant */
32SEC_CONST_DECL (kSecClass, "class");
33
34/* Class Value Constants */
35SEC_CONST_DECL (kSecClassGenericPassword, "genp");
36SEC_CONST_DECL (kSecClassInternetPassword, "inet");
37SEC_CONST_DECL (kSecClassAppleSharePassword, "apls");
38SEC_CONST_DECL (kSecClassCertificate, "cert");
39SEC_CONST_DECL (kSecClassKey, "keys");
40SEC_CONST_DECL (kSecClassIdentity, "idnt");
41
42/* Attribute Key Constants */
43SEC_CONST_DECL (kSecAttrAccessible, "pdmn");
44SEC_CONST_DECL (kSecAttrAccessGroup, "agrp");
45SEC_CONST_DECL (kSecAttrCreationDate, "cdat");
46SEC_CONST_DECL (kSecAttrModificationDate, "mdat");
47SEC_CONST_DECL (kSecAttrDescription, "desc");
48SEC_CONST_DECL (kSecAttrComment, "icmt");
49SEC_CONST_DECL (kSecAttrCreator, "crtr");
50SEC_CONST_DECL (kSecAttrType, "type");
51SEC_CONST_DECL (kSecAttrLabel, "labl");
52SEC_CONST_DECL (kSecAttrIsInvisible, "invi");
53SEC_CONST_DECL (kSecAttrIsNegative, "nega");
54SEC_CONST_DECL (kSecAttrAccount, "acct");
55SEC_CONST_DECL (kSecAttrService, "svce");
56SEC_CONST_DECL (kSecAttrGeneric, "gena");
57SEC_CONST_DECL (kSecAttrSecurityDomain, "sdmn");
58SEC_CONST_DECL (kSecAttrServer, "srvr");
59SEC_CONST_DECL (kSecAttrProtocol, "ptcl");
60SEC_CONST_DECL (kSecAttrAuthenticationType, "atyp");
61SEC_CONST_DECL (kSecAttrPort, "port");
62SEC_CONST_DECL (kSecAttrPath, "path");
63SEC_CONST_DECL (kSecAttrVolume, "volm");
64SEC_CONST_DECL (kSecAttrAddress, "addr");
65SEC_CONST_DECL (kSecAttrAFPServerSignature, "afps");
66SEC_CONST_DECL (kSecAttrAlias, "alis");
67SEC_CONST_DECL (kSecAttrSubject, "subj");
68SEC_CONST_DECL (kSecAttrIssuer, "issr");
69SEC_CONST_DECL (kSecAttrSerialNumber, "slnr");
70SEC_CONST_DECL (kSecAttrSubjectKeyID, "skid");
71SEC_CONST_DECL (kSecAttrPublicKeyHash, "pkhh");
72SEC_CONST_DECL (kSecAttrCertificateType, "ctyp");
73SEC_CONST_DECL (kSecAttrCertificateEncoding, "cenc");
74SEC_CONST_DECL (kSecAttrKeyClass, "kcls");
75SEC_CONST_DECL (kSecAttrApplicationLabel, "klbl");
76SEC_CONST_DECL (kSecAttrIsPermanent, "perm");
77SEC_CONST_DECL (kSecAttrIsPrivate, "priv");
78SEC_CONST_DECL (kSecAttrIsModifiable, "modi");
79SEC_CONST_DECL (kSecAttrApplicationTag, "atag");
80SEC_CONST_DECL (kSecAttrKeyCreator, "crtr");
81SEC_CONST_DECL (kSecAttrKeyType, "type");
82SEC_CONST_DECL (kSecAttrKeySizeInBits, "bsiz");
83SEC_CONST_DECL (kSecAttrEffectiveKeySize, "esiz");
84SEC_CONST_DECL (kSecAttrStartDate, "sdat");
85SEC_CONST_DECL (kSecAttrEndDate, "edat");
86SEC_CONST_DECL (kSecAttrIsSensitive, "sens");
87SEC_CONST_DECL (kSecAttrWasAlwaysSensitive, "asen");
88SEC_CONST_DECL (kSecAttrIsExtractable, "extr");
89SEC_CONST_DECL (kSecAttrWasNeverExtractable, "next");
90SEC_CONST_DECL (kSecAttrCanEncrypt, "encr");
91SEC_CONST_DECL (kSecAttrCanDecrypt, "decr");
92SEC_CONST_DECL (kSecAttrCanDerive, "drve");
93SEC_CONST_DECL (kSecAttrCanSign, "sign");
94SEC_CONST_DECL (kSecAttrCanVerify, "vrfy");
95SEC_CONST_DECL (kSecAttrCanSignRecover, "snrc");
96SEC_CONST_DECL (kSecAttrCanVerifyRecover, "vyrc");
97SEC_CONST_DECL (kSecAttrCanWrap, "wrap");
98SEC_CONST_DECL (kSecAttrCanUnwrap, "unwp");
99/* Attribute Constants (Private) */
100SEC_CONST_DECL (kSecAttrScriptCode, "scrp");
101SEC_CONST_DECL (kSecAttrHasCustomIcon, "cusi");
102SEC_CONST_DECL (kSecAttrCRLType, "crlt");
103SEC_CONST_DECL (kSecAttrCRLEncoding, "crle");
104SEC_CONST_DECL (kSecAttrSynchronizable, "sync");
427c49bc
A
105SEC_CONST_DECL (kSecAttrSynchronizableAny, "syna");
106SEC_CONST_DECL (kSecAttrTombstone, "tomb");
b1ab9ed8
A
107
108/* Search Constants */
109SEC_CONST_DECL (kSecMatchPolicy, "m_Policy");
110SEC_CONST_DECL (kSecMatchItemList, "m_ItemList");
111SEC_CONST_DECL (kSecMatchSearchList, "m_SearchList");
112SEC_CONST_DECL (kSecMatchIssuers, "m_Issuers");
113SEC_CONST_DECL (kSecMatchEmailAddressIfPresent, "m_EmailAddressIfPresent");
114SEC_CONST_DECL (kSecMatchSubjectContains, "m_SubjectContains");
115SEC_CONST_DECL (kSecMatchCaseInsensitive, "m_CaseInsensitive");
116SEC_CONST_DECL (kSecMatchTrustedOnly, "m_TrustedOnly");
117SEC_CONST_DECL (kSecMatchValidOnDate, "m_ValidOnDate");
118SEC_CONST_DECL (kSecMatchLimit, "m_Limit");
119/* Could just use kCFBooleanTrue and kCFBooleanFalse for these 2. */
120SEC_CONST_DECL (kSecMatchLimitOne, "m_LimitOne");
121SEC_CONST_DECL (kSecMatchLimitAll, "m_LimitAll");
122
123/* Return Type Key Constants */
124SEC_CONST_DECL (kSecReturnData, "r_Data");
125SEC_CONST_DECL (kSecReturnAttributes, "r_Attributes");
126SEC_CONST_DECL (kSecReturnRef, "r_Ref");
127SEC_CONST_DECL (kSecReturnPersistentRef, "r_PersistentRef");
128
129/* Value Type Key Constants */
130SEC_CONST_DECL (kSecValueData, "v_Data");
131SEC_CONST_DECL (kSecValueRef, "v_Ref");
132SEC_CONST_DECL (kSecValuePersistentRef, "v_PersistentRef");
133
134/* Other Constants */
135SEC_CONST_DECL (kSecUseItemList, "u_ItemList");
427c49bc 136SEC_CONST_DECL (kSecUseTombstones, "u_Tomb");
b1ab9ed8
A
137#if defined(MULTIPLE_KEYCHAINS)
138/* Other Constants (Private) */
139SEC_CONST_DECL (kSecUseKeychain, "u_Keychain");
140SEC_CONST_DECL (kSecUseKeychainList, "u_KeychainList");
141#endif /* !defined(MULTIPLE_KEYCHAINS) */
142
143/* kSecAttrAccessible Value Constants. */
144SEC_CONST_DECL (kSecAttrAccessibleWhenUnlocked, "ak");
145SEC_CONST_DECL (kSecAttrAccessibleAfterFirstUnlock, "ck");
146SEC_CONST_DECL (kSecAttrAccessibleAlways, "dk");
147SEC_CONST_DECL (kSecAttrAccessibleWhenUnlockedThisDeviceOnly, "aku");
148SEC_CONST_DECL (kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, "cku");
149SEC_CONST_DECL (kSecAttrAccessibleAlwaysThisDeviceOnly, "dku");
150
151/* kSecAttrProtocol Value Constants. */
152SEC_CONST_DECL (kSecAttrProtocolFTP, "ftp ");
153SEC_CONST_DECL (kSecAttrProtocolFTPAccount, "ftpa");
154SEC_CONST_DECL (kSecAttrProtocolHTTP, "http");
155SEC_CONST_DECL (kSecAttrProtocolIRC, "irc ");
156SEC_CONST_DECL (kSecAttrProtocolNNTP, "nntp");
157SEC_CONST_DECL (kSecAttrProtocolPOP3, "pop3");
158SEC_CONST_DECL (kSecAttrProtocolSMTP, "smtp");
159SEC_CONST_DECL (kSecAttrProtocolSOCKS, "sox ");
160SEC_CONST_DECL (kSecAttrProtocolIMAP, "imap");
161SEC_CONST_DECL (kSecAttrProtocolLDAP, "ldap");
162SEC_CONST_DECL (kSecAttrProtocolAppleTalk, "atlk");
163SEC_CONST_DECL (kSecAttrProtocolAFP, "afp ");
164SEC_CONST_DECL (kSecAttrProtocolTelnet, "teln");
165SEC_CONST_DECL (kSecAttrProtocolSSH, "ssh ");
166SEC_CONST_DECL (kSecAttrProtocolFTPS, "ftps");
167SEC_CONST_DECL (kSecAttrProtocolHTTPS, "htps");
168SEC_CONST_DECL (kSecAttrProtocolHTTPProxy, "htpx");
169SEC_CONST_DECL (kSecAttrProtocolHTTPSProxy, "htsx");
170SEC_CONST_DECL (kSecAttrProtocolFTPProxy, "ftpx");
171SEC_CONST_DECL (kSecAttrProtocolSMB, "smb ");
172SEC_CONST_DECL (kSecAttrProtocolRTSP, "rtsp");
173SEC_CONST_DECL (kSecAttrProtocolRTSPProxy, "rtsx");
174SEC_CONST_DECL (kSecAttrProtocolDAAP, "daap");
175SEC_CONST_DECL (kSecAttrProtocolEPPC, "eppc");
176SEC_CONST_DECL (kSecAttrProtocolIPP, "ipp ");
177SEC_CONST_DECL (kSecAttrProtocolNNTPS, "ntps");
178SEC_CONST_DECL (kSecAttrProtocolLDAPS, "ldps");
179SEC_CONST_DECL (kSecAttrProtocolTelnetS, "tels");
180SEC_CONST_DECL (kSecAttrProtocolIMAPS, "imps");
181SEC_CONST_DECL (kSecAttrProtocolIRCS, "ircs");
182SEC_CONST_DECL (kSecAttrProtocolPOP3S, "pops");
183
184/* kSecAttrAuthenticationType Value Constants. */
185SEC_CONST_DECL (kSecAttrAuthenticationTypeNTLM, "ntlm");
186SEC_CONST_DECL (kSecAttrAuthenticationTypeMSN, "msna");
187SEC_CONST_DECL (kSecAttrAuthenticationTypeDPA, "dpaa");
188SEC_CONST_DECL (kSecAttrAuthenticationTypeRPA, "rpaa");
189SEC_CONST_DECL (kSecAttrAuthenticationTypeHTTPBasic, "http");
190SEC_CONST_DECL (kSecAttrAuthenticationTypeHTTPDigest, "httd");
191SEC_CONST_DECL (kSecAttrAuthenticationTypeHTMLForm, "form");
192SEC_CONST_DECL (kSecAttrAuthenticationTypeDefault, "dflt");
193
194/* kSecAttrKeyClass Value Constants. Based on <Security/cssmtype.h>
195 CSSM_KEYCLASS_PUBLIC_KEY = 0,
196 CSSM_KEYCLASS_PRIVATE_KEY = 1,
197 CSSM_KEYCLASS_SESSION_KEY = 2,
198 */
199SEC_CONST_DECL (kSecAttrKeyClassPublic, "0");
200SEC_CONST_DECL (kSecAttrKeyClassPrivate, "1");
201SEC_CONST_DECL (kSecAttrKeyClassSymmetric, "2");
202
427c49bc 203/* kSecAttrKeyType Value Constants. Based on CSSM_ALGORITHMS. */
b1ab9ed8 204SEC_CONST_DECL (kSecAttrKeyTypeRSA, "42");
427c49bc 205SEC_CONST_DECL (kSecAttrKeyTypeEC, "73"); /* rdar://10755886 */
b1ab9ed8
A
206
207/* Constants used by SecKeyGeneratePair() - in SecKey.h. Never used in
208 any SecItem apis directly. */
209SEC_CONST_DECL (kSecPrivateKeyAttrs, "private");
210SEC_CONST_DECL (kSecPublicKeyAttrs, "public");
427c49bc
A
211
212/* Constants used by SecPassword - in SecPasswordStrength */
213SEC_CONST_DECL (kSecPasswordMaxLength, "PasswordMaxLength");
214SEC_CONST_DECL (kSecPasswordMinLength, "PasswordMaxLength");
215SEC_CONST_DECL (kSecPasswordAllowedCharacters, "PasswordAllowedCharacters");
216SEC_CONST_DECL (kSecPasswordRequiredCharacters, "PasswordRequiredCharacters");