]>
Commit | Line | Data |
---|---|---|
b1ab9ed8 | 1 | /* |
d8f41ccd | 2 | * Copyright (c) 2003-2013 Apple Inc. All Rights Reserved. |
b1ab9ed8 A |
3 | * |
4 | * @APPLE_LICENSE_HEADER_START@ | |
5 | * | |
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. | |
12 | * | |
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. | |
20 | * | |
21 | * @APPLE_LICENSE_HEADER_END@ | |
22 | */ | |
23 | ||
427c49bc | 24 | #include <Security/SecBase.h> |
b1ab9ed8 A |
25 | #include <Security/SecBasePriv.h> |
26 | #include <Security/SecKeychainPriv.h> | |
27 | #include <security_utilities/threading.h> | |
6b200bc3 | 28 | #include <utilities/SecCFRelease.h> |
b1ab9ed8 | 29 | #include "SecBridge.h" |
b54c578e | 30 | #include <Security/SecFramework.h> |
b1ab9ed8 A |
31 | |
32 | static CFStringRef copyErrorMessageFromBundle(OSStatus status,CFStringRef tableName); | |
33 | ||
34 | // caller MUST release the string, since it is gotten with "CFCopyLocalizedStringFromTableInBundle" | |
35 | // intended use of reserved param is to pass in CFStringRef with name of the Table for lookup | |
36 | // Will look by default in "SecErrorMessages.strings" in the resources of Security.framework. | |
37 | ||
38 | ||
39 | CFStringRef | |
40 | SecCopyErrorMessageString(OSStatus status, void *reserved) | |
41 | { | |
42 | try | |
43 | { | |
44 | CFStringRef result = copyErrorMessageFromBundle(status,CFSTR("SecErrorMessages")); | |
45 | if (result == NULL) | |
46 | result = copyErrorMessageFromBundle(status,CFSTR("SecDebugErrorMessages")); | |
47 | ||
48 | if (result == NULL) | |
49 | { | |
50 | if (status >= errSecErrnoBase && status <= errSecErrnoLimit) | |
51 | { | |
52 | result = CFStringCreateWithFormat (NULL, NULL, CFSTR("UNIX[%s]"), strerror(status-errSecErrnoBase)); | |
53 | } | |
54 | else | |
55 | { | |
56 | // no error message found, so format a faked-up error message from the status | |
427c49bc | 57 | result = CFStringCreateWithFormat(NULL, NULL, CFSTR("OSStatus %d"), (int)status); |
b1ab9ed8 A |
58 | } |
59 | } | |
60 | ||
61 | return result; | |
62 | } | |
63 | catch (...) | |
64 | { | |
65 | return NULL; | |
66 | } | |
67 | } | |
68 | ||
69 | ||
70 | void | |
71 | cssmPerror(const char *how, CSSM_RETURN error) | |
72 | { | |
73 | try | |
74 | { | |
75 | const char* errMsg = cssmErrorString(error); | |
76 | fprintf(stderr, "%s: %s\n", how ? how : "error", errMsg); | |
77 | } | |
78 | catch (...) | |
79 | { | |
80 | fprintf(stderr, "failed to print error: %lu\n", (unsigned long)error); | |
81 | } | |
82 | } | |
83 | ||
84 | ||
85 | const char * | |
86 | cssmErrorString(CSSM_RETURN error) | |
87 | { | |
88 | static ThreadNexus<string> lastError; | |
89 | ||
90 | try { | |
91 | string err; | |
92 | ||
93 | if (error >= errSecErrnoBase && error <= errSecErrnoLimit) | |
94 | { | |
95 | err = string ("UNIX[") + strerror(error - errSecErrnoBase) + "]"; | |
96 | } | |
97 | else | |
98 | { | |
99 | CFStringRef result = copyErrorMessageFromBundle(error,CFSTR("SecErrorMessages")); | |
100 | if (result == NULL) | |
101 | result = copyErrorMessageFromBundle(error,CFSTR("SecDebugErrorMessages")); | |
ecaf5866 | 102 | err = cfString(result, errSecErrorStringNotAvailable); |
6b200bc3 | 103 | CFReleaseSafe(result); |
b1ab9ed8 A |
104 | } |
105 | ||
106 | if (err.empty()) | |
107 | { | |
108 | char buf[200]; | |
109 | snprintf(buf, sizeof(buf), "unknown error %ld=%lx", (long) error, (long) error); | |
110 | err = buf; | |
111 | } | |
112 | ||
113 | lastError() = err; | |
114 | return lastError().c_str(); | |
115 | } | |
116 | catch (...) | |
117 | { | |
118 | char buf[256]; | |
119 | snprintf (buf, sizeof (buf), "unknown error %ld=%lx", (long) error, (long) error); | |
120 | lastError() = buf; | |
121 | return lastError().c_str(); | |
122 | } | |
123 | } | |
124 | ||
125 | ||
126 | static ModuleNexus<Mutex> gBundleLock; | |
127 | ||
128 | CFStringRef | |
129 | copyErrorMessageFromBundle(OSStatus status,CFStringRef tableName) | |
130 | { | |
131 | StLock<Mutex> _lock(gBundleLock()); | |
132 | ||
133 | CFStringRef errorString = nil; | |
134 | CFStringRef keyString = nil; | |
135 | CFBundleRef secBundle = NULL; | |
136 | ||
137 | // Make a bundle instance using the URLRef. | |
138 | secBundle = CFBundleGetBundleWithIdentifier(CFSTR("com.apple.security")); | |
139 | if (!secBundle) | |
140 | goto xit; | |
141 | ||
142 | // Convert status to Int32 string representation, e.g. "-25924" | |
427c49bc | 143 | keyString = CFStringCreateWithFormat (kCFAllocatorDefault,NULL,CFSTR("%d"),(int)status); |
d64be36e | 144 | if (!keyString) { |
b1ab9ed8 | 145 | goto xit; |
d64be36e | 146 | } |
b1ab9ed8 | 147 | |
d64be36e | 148 | errorString = CFCopyLocalizedStringFromTableInBundle(keyString,tableName,secBundle,NULL); |
b1ab9ed8 A |
149 | if (CFStringCompare(errorString, keyString, 0)==kCFCompareEqualTo) // no real error message |
150 | { | |
151 | if (errorString) | |
152 | CFRelease(errorString); | |
153 | errorString = nil; | |
154 | } | |
155 | xit: | |
156 | if (keyString) | |
157 | CFRelease(keyString); | |
158 | ||
159 | return errorString; | |
160 | } | |
161 | ||
162 | /* Convert a possible CSSM type osStatus error to a more Keychain friendly OSStatus. */ | |
163 | OSStatus SecKeychainErrFromOSStatus(OSStatus osStatus) | |
164 | { | |
165 | if (CSSM_ERR_IS_CONVERTIBLE(osStatus)) | |
166 | { | |
167 | switch (CSSM_ERRCODE(osStatus)) | |
168 | { | |
169 | // CONVERTIBLE ERROR CODES. | |
170 | case CSSM_ERRCODE_SERVICE_NOT_AVAILABLE: | |
171 | return errSecNotAvailable; | |
172 | case CSSM_ERRCODE_USER_CANCELED: | |
427c49bc | 173 | return errSecUserCanceled; |
b1ab9ed8 A |
174 | case CSSM_ERRCODE_OPERATION_AUTH_DENIED: |
175 | return errSecAuthFailed; | |
176 | case CSSM_ERRCODE_NO_USER_INTERACTION: | |
177 | return errSecInteractionNotAllowed; | |
178 | case CSSM_ERRCODE_IN_DARK_WAKE: | |
179 | return errSecInDarkWake; | |
180 | case CSSM_ERRCODE_OS_ACCESS_DENIED: | |
427c49bc | 181 | return errSecWrPerm; |
b1ab9ed8 A |
182 | case CSSM_ERRCODE_INSUFFICIENT_CLIENT_IDENTIFICATION: |
183 | return errSecInsufficientClientID; | |
184 | case CSSM_ERRCODE_DEVICE_RESET: | |
185 | return errSecDeviceReset; | |
186 | case CSSM_ERRCODE_DEVICE_FAILED: | |
187 | return errSecDeviceFailed; | |
188 | case CSSM_ERRCODE_INTERNAL_ERROR: | |
189 | return errSecInternalError; | |
190 | case CSSM_ERRCODE_MEMORY_ERROR: | |
191 | return errSecMemoryError; | |
192 | case CSSM_ERRCODE_MDS_ERROR: | |
193 | return errSecMDSError; | |
194 | case CSSM_ERRCODE_INVALID_POINTER: | |
195 | case CSSM_ERRCODE_INVALID_INPUT_POINTER: | |
196 | case CSSM_ERRCODE_INVALID_OUTPUT_POINTER: | |
197 | case CSSM_ERRCODE_INVALID_CERTGROUP_POINTER: | |
198 | case CSSM_ERRCODE_INVALID_CERT_POINTER: | |
199 | case CSSM_ERRCODE_INVALID_CRL_POINTER: | |
200 | case CSSM_ERRCODE_INVALID_FIELD_POINTER: | |
201 | case CSSM_ERRCODE_INVALID_DB_LIST_POINTER: | |
202 | return errSecInvalidPointer; | |
203 | case CSSM_ERRCODE_FUNCTION_NOT_IMPLEMENTED: | |
204 | return errSecUnimplemented; | |
205 | case CSSM_ERRCODE_SELF_CHECK_FAILED: | |
206 | case CSSMERR_CL_SELF_CHECK_FAILED: | |
207 | case CSSMERR_DL_SELF_CHECK_FAILED: | |
208 | return errSecSelfCheckFailed; | |
209 | case CSSM_ERRCODE_FUNCTION_FAILED: | |
210 | return errSecFunctionFailed; | |
211 | case CSSM_ERRCODE_MODULE_MANIFEST_VERIFY_FAILED: | |
212 | return errSecModuleManifestVerifyFailed; | |
213 | case CSSM_ERRCODE_INVALID_GUID: | |
214 | return errSecInvalidGUID; | |
215 | case CSSM_ERRCODE_OBJECT_USE_AUTH_DENIED: | |
216 | case CSSM_ERRCODE_OBJECT_MANIP_AUTH_DENIED: | |
217 | return errAuthorizationDenied; | |
218 | case CSSM_ERRCODE_OBJECT_ACL_NOT_SUPPORTED: | |
219 | case CSSM_ERRCODE_OBJECT_ACL_REQUIRED: | |
220 | case CSSM_ERRCODE_INVALID_ACL_SUBJECT_VALUE: | |
221 | case CSSM_ERRCODE_ACL_SUBJECT_TYPE_NOT_SUPPORTED: | |
222 | case CSSM_ERRCODE_INVALID_ACL_EDIT_MODE: | |
223 | case CSSM_ERRCODE_INVALID_NEW_ACL_ENTRY: | |
224 | case CSSM_ERRCODE_INVALID_NEW_ACL_OWNER: | |
225 | return errSecInvalidACL; | |
226 | case CSSM_ERRCODE_INVALID_ACCESS_CREDENTIALS: | |
227 | return errSecInvalidAccessCredentials; | |
228 | case CSSM_ERRCODE_INVALID_ACL_BASE_CERTS: | |
229 | case CSSM_ERRCODE_ACL_BASE_CERTS_NOT_SUPPORTED: | |
230 | return errSecInvalidCertificateGroup; | |
231 | case CSSM_ERRCODE_INVALID_SAMPLE_VALUE: | |
232 | return errSecInvalidSampleValue; | |
233 | case CSSM_ERRCODE_SAMPLE_VALUE_NOT_SUPPORTED: | |
234 | return errSecInvalidSampleValue; | |
235 | case CSSM_ERRCODE_INVALID_ACL_CHALLENGE_CALLBACK: | |
236 | return errSecInvalidCallback; | |
237 | case CSSM_ERRCODE_ACL_CHALLENGE_CALLBACK_FAILED: | |
238 | return errSecCallbackFailed; | |
239 | case CSSM_ERRCODE_INVALID_ACL_ENTRY_TAG: | |
240 | case CSSM_ERRCODE_UNKNOWN_TAG: | |
241 | return errSecUnknownTag; | |
242 | case CSSM_ERRCODE_ACL_ENTRY_TAG_NOT_FOUND: | |
243 | return errSecTagNotFound; | |
244 | case CSSM_ERRCODE_ACL_CHANGE_FAILED: | |
245 | return errSecACLChangeFailed; | |
246 | case CSSM_ERRCODE_ACL_DELETE_FAILED: | |
247 | return errSecACLDeleteFailed; | |
248 | case CSSM_ERRCODE_ACL_REPLACE_FAILED: | |
249 | return errSecACLReplaceFailed; | |
250 | case CSSM_ERRCODE_ACL_ADD_FAILED: | |
251 | return errSecACLAddFailed; | |
252 | case CSSM_ERRCODE_INVALID_CONTEXT_HANDLE: | |
253 | case CSSM_ERRCODE_INVALID_DB_HANDLE: | |
254 | case CSSM_ERRCODE_INVALID_CSP_HANDLE: | |
255 | case CSSM_ERRCODE_INVALID_DL_HANDLE: | |
256 | case CSSM_ERRCODE_INVALID_CL_HANDLE: | |
257 | case CSSM_ERRCODE_INVALID_TP_HANDLE: | |
258 | case CSSM_ERRCODE_INVALID_KR_HANDLE: | |
259 | case CSSM_ERRCODE_INVALID_AC_HANDLE: | |
260 | return errSecInvalidHandle; | |
261 | case CSSM_ERRCODE_INCOMPATIBLE_VERSION: | |
262 | return errSecIncompatibleVersion; | |
263 | case CSSM_ERRCODE_INVALID_DATA: | |
264 | return errSecInvalidData; | |
265 | case CSSM_ERRCODE_CRL_ALREADY_SIGNED: | |
266 | return errSecCRLAlreadySigned; | |
267 | case CSSM_ERRCODE_INVALID_NUMBER_OF_FIELDS: | |
268 | return errSecInvalidNumberOfFields; | |
269 | case CSSM_ERRCODE_VERIFICATION_FAILURE: | |
270 | return errSecVerificationFailure; | |
271 | case CSSM_ERRCODE_PRIVILEGE_NOT_GRANTED: | |
272 | return errSecPrivilegeNotGranted; | |
273 | case CSSM_ERRCODE_INVALID_DB_LIST: | |
274 | return errSecInvalidDBList; | |
275 | case CSSM_ERRCODE_UNKNOWN_FORMAT: | |
276 | return errSecUnknownFormat; | |
277 | case CSSM_ERRCODE_INVALID_PASSTHROUGH_ID: | |
278 | return errSecInvalidPassthroughID; | |
279 | case CSSM_ERRCODE_INVALID_NETWORK_ADDR: | |
280 | return errSecInvalidNetworkAddress; | |
281 | case CSSM_ERRCODE_INVALID_CRYPTO_DATA: | |
282 | return errSecInvalidData; | |
283 | } | |
284 | } | |
285 | switch (osStatus) | |
286 | { | |
287 | // Some CSSM errors mapped to OSStatus-type (SnowLeopard and earlier). | |
288 | // | |
289 | case CSSMERR_DL_RECORD_NOT_FOUND: | |
290 | case CSSMERR_APPLETP_CERT_NOT_FOUND_FROM_ISSUER: | |
291 | case CSSMERR_CSP_PRIVATE_KEY_NOT_FOUND: | |
292 | return errSecItemNotFound; | |
293 | case CSSMERR_DL_INVALID_UNIQUE_INDEX_DATA: | |
294 | case CSSMERR_CSP_PRIVATE_KEY_ALREADY_EXISTS: | |
295 | case CSSMERR_CSP_KEY_LABEL_ALREADY_EXISTS: | |
296 | return errSecDuplicateItem; | |
297 | case CSSMERR_DL_DATABASE_CORRUPT: | |
298 | return errSecInvalidKeychain; | |
299 | case CSSMERR_DL_DATASTORE_DOESNOT_EXIST: | |
300 | return errSecNoSuchKeychain; | |
301 | case CSSMERR_DL_DATASTORE_ALREADY_EXISTS: | |
302 | return errSecDuplicateKeychain; | |
303 | case CSSMERR_APPLEDL_DISK_FULL: | |
b54c578e | 304 | return errSecDiskFull; |
b1ab9ed8 A |
305 | case CSSMERR_DL_INVALID_OPEN_PARAMETERS: |
306 | case CSSMERR_APPLEDL_INVALID_OPEN_PARAMETERS: | |
307 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_PARAM: | |
308 | return errSecParam; | |
309 | case CSSMERR_DL_INVALID_FIELD_NAME: | |
310 | case CSSMERR_CSSM_INVALID_ATTRIBUTE: | |
311 | return errSecNoSuchAttr; | |
312 | case CSSMERR_DL_OS_ACCESS_DENIED: | |
313 | case CSSMERR_CSP_OS_ACCESS_DENIED: | |
314 | case CSSMERR_TP_OS_ACCESS_DENIED: | |
315 | case CSSMERR_AC_OS_ACCESS_DENIED: | |
316 | case CSSMERR_CL_OS_ACCESS_DENIED: | |
427c49bc | 317 | return errSecWrPerm; |
b1ab9ed8 A |
318 | case CSSMERR_CSSM_BUFFER_TOO_SMALL: |
319 | return errSecBufferTooSmall; | |
320 | case CSSMERR_CSSM_FUNCTION_NOT_IMPLEMENTED: | |
321 | case CSSMERR_CSP_FUNCTION_NOT_IMPLEMENTED: | |
322 | case CSSMERR_TP_FUNCTION_NOT_IMPLEMENTED: | |
323 | case CSSMERR_AC_FUNCTION_NOT_IMPLEMENTED: | |
324 | case CSSMERR_CL_FUNCTION_NOT_IMPLEMENTED: | |
325 | case CSSMERR_DL_FUNCTION_NOT_IMPLEMENTED: | |
326 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_UNIMPL: | |
327 | return errSecUnimplemented; | |
328 | case CSSMERR_CSSM_INTERNAL_ERROR: | |
329 | case CSSMERR_CSP_INTERNAL_ERROR: | |
330 | case CSSMERR_TP_INTERNAL_ERROR: | |
331 | case CSSMERR_AC_INTERNAL_ERROR: | |
332 | case CSSMERR_CL_INTERNAL_ERROR: | |
333 | case CSSMERR_DL_INTERNAL_ERROR: | |
334 | return errSecInternalError; | |
335 | case CSSMERR_CSSM_MEMORY_ERROR: | |
336 | case CSSMERR_CSP_MEMORY_ERROR: | |
337 | case CSSMERR_TP_MEMORY_ERROR: | |
338 | case CSSMERR_AC_MEMORY_ERROR: | |
339 | case CSSMERR_CSP_DEVICE_MEMORY_ERROR: | |
340 | case CSSMERR_CL_MEMORY_ERROR: | |
341 | case CSSMERR_DL_MEMORY_ERROR: | |
342 | return errSecMemoryError; | |
343 | case CSSMERR_CSSM_MDS_ERROR: | |
344 | case CSSMERR_CSP_MDS_ERROR: | |
345 | case CSSMERR_TP_MDS_ERROR: | |
346 | case CSSMERR_AC_MDS_ERROR: | |
347 | case CSSMERR_CL_MDS_ERROR: | |
348 | case CSSMERR_DL_MDS_ERROR: | |
349 | return errSecMDSError; | |
350 | case CSSMERR_CSSM_INVALID_POINTER: | |
351 | case CSSMERR_CSP_INVALID_POINTER: | |
352 | case CSSMERR_TP_INVALID_POINTER: | |
353 | case CSSMERR_AC_INVALID_POINTER: | |
354 | case CSSMERR_CL_INVALID_POINTER: | |
355 | case CSSMERR_DL_INVALID_POINTER: | |
356 | case CSSMERR_CSSM_INVALID_INPUT_POINTER: | |
357 | case CSSMERR_CSP_INVALID_INPUT_POINTER: | |
358 | case CSSMERR_TP_INVALID_INPUT_POINTER: | |
359 | case CSSMERR_AC_INVALID_INPUT_POINTER: | |
360 | case CSSMERR_CL_INVALID_INPUT_POINTER: | |
361 | case CSSMERR_DL_INVALID_INPUT_POINTER: | |
362 | case CSSMERR_TP_INVALID_DB_LIST_POINTER: | |
363 | case CSSMERR_AC_INVALID_DB_LIST_POINTER: | |
364 | case CSSMERR_DL_INVALID_DB_LIST_POINTER: | |
365 | case CSSMERR_TP_INVALID_CERTGROUP_POINTER: | |
366 | case CSSMERR_TP_INVALID_CERT_POINTER: | |
367 | case CSSMERR_TP_INVALID_CRL_POINTER: | |
368 | case CSSMERR_TP_INVALID_FIELD_POINTER: | |
369 | case CSSMERR_CSP_INVALID_KEY_POINTER: | |
370 | case CSSMERR_TP_INVALID_CALLERAUTH_CONTEXT_POINTER: | |
371 | case CSSMERR_TP_INVALID_IDENTIFIER_POINTER: | |
372 | case CSSMERR_TP_INVALID_CRLGROUP_POINTER: | |
373 | case CSSMERR_TP_INVALID_TUPLEGROUP_POINTER: | |
374 | case CSSMERR_CL_INVALID_CERTGROUP_POINTER: | |
375 | case CSSMERR_CL_INVALID_CERT_POINTER: | |
376 | case CSSMERR_CL_INVALID_CRL_POINTER: | |
377 | case CSSMERR_CL_INVALID_FIELD_POINTER: | |
378 | case CSSMERR_CL_INVALID_BUNDLE_POINTER: | |
379 | case CSSMERR_CSSM_INVALID_OUTPUT_POINTER: | |
380 | case CSSMERR_CSP_INVALID_OUTPUT_POINTER: | |
381 | case CSSMERR_TP_INVALID_OUTPUT_POINTER: | |
382 | case CSSMERR_AC_INVALID_OUTPUT_POINTER: | |
383 | case CSSMERR_CL_INVALID_OUTPUT_POINTER: | |
384 | case CSSMERR_DL_INVALID_OUTPUT_POINTER: | |
385 | return errSecInvalidPointer; | |
386 | case CSSMERR_CSSM_FUNCTION_FAILED: | |
387 | case CSSMERR_CSP_FUNCTION_FAILED: | |
388 | case CSSMERR_TP_FUNCTION_FAILED: | |
389 | case CSSMERR_AC_FUNCTION_FAILED: | |
390 | case CSSMERR_CL_FUNCTION_FAILED: | |
391 | case CSSMERR_DL_FUNCTION_FAILED: | |
392 | return errSecFunctionFailed; | |
393 | case CSSMERR_CSP_INVALID_DATA: | |
394 | case CSSMERR_TP_INVALID_DATA: | |
395 | case CSSMERR_AC_INVALID_DATA: | |
396 | case CSSMERR_CL_INVALID_DATA: | |
397 | case CSSMERR_CSP_INVALID_CRYPTO_DATA: | |
398 | case CSSMERR_CSP_INVALID_DATA_COUNT: | |
399 | case CSSMERR_TP_INVALID_ACTION_DATA: | |
400 | return errSecInvalidData; | |
401 | case CSSMERR_TP_INVALID_DB_LIST: | |
402 | case CSSMERR_AC_INVALID_DB_LIST: | |
403 | return errSecInvalidDBList; | |
404 | case CSSMERR_CSP_INVALID_PASSTHROUGH_ID: | |
405 | case CSSMERR_TP_INVALID_PASSTHROUGH_ID: | |
406 | case CSSMERR_AC_INVALID_PASSTHROUGH_ID: | |
407 | case CSSMERR_CL_INVALID_PASSTHROUGH_ID: | |
408 | case CSSMERR_DL_INVALID_PASSTHROUGH_ID: | |
409 | return errSecInvalidPassthroughID; | |
410 | case CSSMERR_TP_INVALID_CSP_HANDLE: | |
411 | case CSSMERR_TP_INVALID_CL_HANDLE: | |
412 | case CSSMERR_TP_INVALID_DL_HANDLE: | |
413 | case CSSMERR_AC_INVALID_TP_HANDLE: | |
414 | case CSSMERR_AC_INVALID_DL_HANDLE: | |
415 | case CSSMERR_DL_INVALID_DL_HANDLE: | |
416 | case CSSMERR_AC_INVALID_CL_HANDLE: | |
417 | case CSSMERR_DL_INVALID_CL_HANDLE: | |
418 | case CSSMERR_DL_INVALID_CSP_HANDLE: | |
419 | case CSSMERR_TP_INVALID_DB_HANDLE: | |
420 | case CSSMERR_CSSM_INVALID_ADDIN_HANDLE: | |
421 | case CSSMERR_CSSM_INVALID_CONTEXT_HANDLE: | |
422 | case CSSMERR_CL_INVALID_CACHE_HANDLE: | |
423 | case CSSMERR_CL_INVALID_RESULTS_HANDLE: | |
424 | case CSSMERR_DL_INVALID_RESULTS_HANDLE: | |
425 | case CSSMERR_TP_INVALID_KEYCACHE_HANDLE: | |
426 | case CSSMERR_CSP_INVALID_CONTEXT_HANDLE: | |
427 | case CSSMERR_TP_INVALID_CONTEXT_HANDLE: | |
428 | case CSSMERR_AC_INVALID_CONTEXT_HANDLE: | |
429 | case CSSMERR_CL_INVALID_CONTEXT_HANDLE: | |
430 | return errSecInvalidHandle; | |
431 | case CSSMERR_TP_CRL_ALREADY_SIGNED: | |
432 | case CSSMERR_CL_CRL_ALREADY_SIGNED: | |
433 | return errSecCRLAlreadySigned; | |
434 | case CSSMERR_TP_INVALID_NUMBER_OF_FIELDS: | |
435 | case CSSMERR_CL_INVALID_NUMBER_OF_FIELDS: | |
436 | return errSecInvalidNumberOfFields; | |
437 | case CSSMERR_TP_VERIFICATION_FAILURE: | |
438 | case CSSMERR_CL_VERIFICATION_FAILURE: | |
439 | return errSecVerificationFailure; | |
440 | case CSSMERR_TP_INVALID_NETWORK_ADDR: | |
441 | case CSSMERR_DL_INVALID_NETWORK_ADDR: | |
442 | return errSecInvalidNetworkAddress; | |
443 | case CSSMERR_TP_UNKNOWN_TAG: | |
444 | case CSSMERR_CL_UNKNOWN_TAG: | |
445 | case CSSMERR_CSP_INVALID_ACL_ENTRY_TAG: | |
446 | case CSSMERR_DL_INVALID_ACL_ENTRY_TAG: | |
447 | case CSSMERR_DL_INVALID_SELECTION_TAG: | |
448 | return errSecUnknownTag; | |
449 | case CSSMERR_CSP_INVALID_SIGNATURE: | |
450 | case CSSMERR_TP_INVALID_SIGNATURE: | |
451 | return errSecInvalidSignature; | |
452 | case CSSMERR_CSSM_USER_CANCELED: | |
453 | case CSSMERR_CSP_USER_CANCELED: | |
454 | case CSSMERR_TP_USER_CANCELED: | |
455 | case CSSMERR_AC_USER_CANCELED: | |
456 | case CSSMERR_CL_USER_CANCELED: | |
457 | case CSSMERR_DL_USER_CANCELED: | |
427c49bc | 458 | return errSecUserCanceled; |
b1ab9ed8 A |
459 | case CSSMERR_CSSM_NO_USER_INTERACTION: |
460 | case CSSMERR_CSP_NO_USER_INTERACTION: | |
461 | case CSSMERR_TP_NO_USER_INTERACTION: | |
462 | case CSSMERR_AC_NO_USER_INTERACTION: | |
463 | case CSSMERR_CL_NO_USER_INTERACTION: | |
464 | case CSSMERR_DL_NO_USER_INTERACTION: | |
465 | return errSecInteractionNotAllowed; | |
466 | case CSSMERR_CSSM_IN_DARK_WAKE: | |
467 | case CSSMERR_CSP_IN_DARK_WAKE: | |
468 | case CSSMERR_TP_IN_DARK_WAKE: | |
469 | case CSSMERR_AC_IN_DARK_WAKE: | |
470 | case CSSMERR_CL_IN_DARK_WAKE: | |
471 | case CSSMERR_DL_IN_DARK_WAKE: | |
472 | return errSecInDarkWake; | |
473 | case CSSMERR_CSSM_SERVICE_NOT_AVAILABLE: | |
474 | case CSSMERR_CSP_SERVICE_NOT_AVAILABLE: | |
475 | case CSSMERR_TP_SERVICE_NOT_AVAILABLE: | |
476 | case CSSMERR_AC_SERVICE_NOT_AVAILABLE: | |
477 | case CSSMERR_CL_SERVICE_NOT_AVAILABLE: | |
478 | case CSSMERR_DL_SERVICE_NOT_AVAILABLE: | |
479 | return errSecServiceNotAvailable; | |
480 | case CSSMERR_CSSM_INSUFFICIENT_CLIENT_IDENTIFICATION: | |
481 | case CSSMERR_CSP_INSUFFICIENT_CLIENT_IDENTIFICATION: | |
482 | case CSSMERR_TP_INSUFFICIENT_CLIENT_IDENTIFICATION: | |
483 | case CSSMERR_AC_INSUFFICIENT_CLIENT_IDENTIFICATION: | |
484 | case CSSMERR_CL_INSUFFICIENT_CLIENT_IDENTIFICATION: | |
485 | case CSSMERR_DL_INSUFFICIENT_CLIENT_IDENTIFICATION: | |
486 | return errSecInsufficientClientID; | |
487 | case CSSMERR_CSSM_DEVICE_RESET: | |
488 | case CSSMERR_CSP_DEVICE_RESET: | |
489 | case CSSMERR_TP_DEVICE_RESET: | |
490 | case CSSMERR_AC_DEVICE_RESET: | |
491 | case CSSMERR_CL_DEVICE_RESET: | |
492 | case CSSMERR_DL_DEVICE_RESET: | |
493 | return errSecDeviceReset; | |
494 | case CSSMERR_CSSM_DEVICE_FAILED: | |
495 | case CSSMERR_CSP_DEVICE_FAILED: | |
496 | case CSSMERR_TP_DEVICE_FAILED: | |
497 | case CSSMERR_AC_DEVICE_FAILED: | |
498 | case CSSMERR_CL_DEVICE_FAILED: | |
499 | case CSSMERR_DL_DEVICE_FAILED: | |
500 | return errSecDeviceFailed; | |
501 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_AUTH: | |
502 | case CSSMERR_CSSM_EMM_AUTHENTICATE_FAILED: | |
503 | case CSSMERR_CSSM_ADDIN_AUTHENTICATE_FAILED: | |
504 | case CSSMERR_CSP_OPERATION_AUTH_DENIED: | |
505 | case CSSMERR_CSP_OBJECT_USE_AUTH_DENIED: | |
506 | case CSSMERR_CSP_OBJECT_MANIP_AUTH_DENIED: | |
507 | case CSSMERR_TP_AUTHENTICATION_FAILED: | |
508 | case CSSMERR_DL_OPERATION_AUTH_DENIED: | |
509 | case CSSMERR_DL_OBJECT_USE_AUTH_DENIED: | |
510 | case CSSMERR_DL_OBJECT_MANIP_AUTH_DENIED: | |
511 | return errAuthorizationDenied; | |
512 | case CSSMERR_CSSM_SCOPE_NOT_SUPPORTED: | |
513 | case CSSMERR_CL_SCOPE_NOT_SUPPORTED: | |
514 | case CSSMERR_CL_INVALID_SCOPE: | |
515 | return errSecInvalidScope; | |
516 | case CSSMERR_TP_INVALID_NAME: | |
517 | case CSSMERR_DL_INVALID_DB_NAME: | |
518 | return errSecInvalidName; | |
519 | case CSSMERR_APPLETP_BAD_CERT_FROM_ISSUER: | |
520 | case CSSMERR_TP_INVALID_CERTIFICATE: | |
521 | case CSSMERR_TP_INVALID_ANCHOR_CERT: | |
522 | case CSSMERR_APPLETP_CRL_INVALID_ANCHOR_CERT: | |
523 | case CSSMERR_APPLETP_OCSP_INVALID_ANCHOR_CERT: | |
524 | return errSecInvalidCertificateRef; | |
525 | case CSSMERR_CSP_ACL_ENTRY_TAG_NOT_FOUND: | |
526 | case CSSMERR_DL_ACL_ENTRY_TAG_NOT_FOUND: | |
527 | return errSecTagNotFound; | |
528 | case CSSMERR_DL_UNSUPPORTED_QUERY: | |
529 | case CSSMERR_DL_INVALID_QUERY: | |
530 | return errSecInvalidQuery; | |
531 | case CSSMERR_CSP_INVALID_ACL_CHALLENGE_CALLBACK: | |
532 | case CSSMERR_TP_INVALID_CALLBACK: | |
533 | case CSSMERR_DL_INVALID_ACL_CHALLENGE_CALLBACK: | |
534 | return errSecInvalidCallback; | |
535 | case CSSMERR_CSP_ACL_CHALLENGE_CALLBACK_FAILED: | |
536 | case CSSMERR_CSP_CRYPTO_DATA_CALLBACK_FAILED: | |
537 | case CSSMERR_DL_ACL_CHALLENGE_CALLBACK_FAILED: | |
538 | return errSecCallbackFailed; | |
539 | case CSSMERR_TP_INVALID_CERTGROUP: | |
540 | case CSSMERR_TP_CERTGROUP_INCOMPLETE: | |
541 | case CSSMERR_DL_INVALID_ACL_BASE_CERTS: | |
542 | case CSSMERR_DL_ACL_BASE_CERTS_NOT_SUPPORTED: | |
543 | case CSSMERR_CSP_INVALID_ACL_BASE_CERTS: | |
544 | return errSecInvalidCertificateGroup; | |
545 | case CSSMERR_CSP_ACL_DELETE_FAILED: | |
546 | case CSSMERR_DL_ACL_DELETE_FAILED: | |
547 | return errSecACLDeleteFailed; | |
548 | case CSSMERR_CSP_ACL_REPLACE_FAILED: | |
549 | case CSSMERR_DL_ACL_REPLACE_FAILED: | |
550 | return errSecACLReplaceFailed; | |
551 | case CSSMERR_CSP_ACL_ADD_FAILED: | |
552 | case CSSMERR_DL_ACL_ADD_FAILED: | |
553 | return errSecACLAddFailed; | |
554 | case CSSMERR_DL_ACL_CHANGE_FAILED: | |
555 | case CSSMERR_CSP_ACL_CHANGE_FAILED: | |
556 | return errSecACLChangeFailed; | |
557 | case CSSMERR_CSSM_PRIVILEGE_NOT_GRANTED: | |
558 | case CSSMERR_CSP_PRIVILEGE_NOT_GRANTED: | |
559 | return errSecPrivilegeNotGranted; | |
560 | case CSSMERR_CSP_INVALID_ACCESS_CREDENTIALS: | |
561 | case CSSMERR_DL_INVALID_ACCESS_CREDENTIALS: | |
562 | return errSecInvalidAccessCredentials; | |
563 | case CSSMERR_DL_INVALID_RECORD_INDEX: | |
564 | case CSSMERR_DL_INVALID_RECORDTYPE: | |
565 | case CSSMERR_DL_UNSUPPORTED_RECORDTYPE: | |
566 | case CSSMERR_DL_INVALID_RECORD_UID: | |
567 | case CSSMERR_DL_STALE_UNIQUE_RECORD: | |
568 | return errSecInvalidRecord; | |
569 | case CSSMERR_CSP_INVALID_KEY: | |
570 | case CSSMERR_CSP_INVALID_KEY_REFERENCE: | |
571 | case CSSMERR_CSP_INVALID_KEY_CLASS: | |
572 | return errSecInvalidKeyRef; | |
573 | case CSSMERR_CSP_OBJECT_ACL_NOT_SUPPORTED: | |
574 | case CSSMERR_CSP_OBJECT_ACL_REQUIRED: | |
575 | case CSSMERR_CSP_ACL_BASE_CERTS_NOT_SUPPORTED: | |
576 | case CSSMERR_CSP_INVALID_ACL_SUBJECT_VALUE: | |
577 | case CSSMERR_CSP_ACL_SUBJECT_TYPE_NOT_SUPPORTED: | |
578 | case CSSMERR_DL_OBJECT_ACL_NOT_SUPPORTED: | |
579 | case CSSMERR_DL_OBJECT_ACL_REQUIRED: | |
580 | case CSSMERR_DL_INVALID_ACL_SUBJECT_VALUE: | |
581 | case CSSMERR_DL_ACL_SUBJECT_TYPE_NOT_SUPPORTED: | |
582 | case CSSMERR_DL_INVALID_NEW_ACL_ENTRY: | |
583 | case CSSMERR_DL_INVALID_NEW_ACL_OWNER: | |
584 | case CSSMERR_DL_INVALID_ACL_EDIT_MODE: | |
585 | case CSSMERR_CSP_INVALID_ACL_EDIT_MODE: | |
586 | case CSSMERR_CSP_INVALID_NEW_ACL_ENTRY: | |
587 | case CSSMERR_CSP_INVALID_NEW_ACL_OWNER: | |
588 | return errSecInvalidACL; | |
589 | case CSSMERR_CSP_INVALID_SAMPLE_VALUE: | |
590 | case CSSMERR_DL_INVALID_SAMPLE_VALUE: | |
591 | case CSSMERR_CSP_SAMPLE_VALUE_NOT_SUPPORTED: | |
592 | case CSSMERR_DL_SAMPLE_VALUE_NOT_SUPPORTED: | |
593 | return errSecInvalidSampleValue; | |
594 | case CSSMERR_TP_UNKNOWN_FORMAT: | |
595 | case CSSMERR_CL_UNKNOWN_FORMAT: | |
596 | return errSecUnknownFormat; | |
597 | case CSSMERR_CSP_APPLE_ADD_APPLICATION_ACL_SUBJECT: | |
598 | return errSecAppleAddAppACLSubject; | |
599 | case CSSMERR_CSP_APPLE_PUBLIC_KEY_INCOMPLETE: | |
600 | return errSecApplePublicKeyIncomplete; | |
601 | case CSSMERR_CSP_APPLE_SIGNATURE_MISMATCH: | |
602 | return errSecAppleSignatureMismatch; | |
603 | case CSSMERR_CSP_APPLE_INVALID_KEY_START_DATE: | |
604 | return errSecAppleInvalidKeyStartDate; | |
605 | case CSSMERR_CSP_APPLE_INVALID_KEY_END_DATE: | |
606 | return errSecAppleInvalidKeyEndDate; | |
607 | case CSSMERR_CSPDL_APPLE_DL_CONVERSION_ERROR: | |
608 | return errSecConversionError; | |
609 | case CSSMERR_CSP_APPLE_SSLv2_ROLLBACK: | |
610 | return errSecAppleSSLv2Rollback; | |
611 | case CSSMERR_APPLEDL_QUOTA_EXCEEDED: | |
612 | return errSecQuotaExceeded; | |
613 | case CSSMERR_APPLEDL_FILE_TOO_BIG: | |
614 | return errSecFileTooBig; | |
615 | case CSSMERR_APPLEDL_INVALID_DATABASE_BLOB: | |
616 | return errSecInvalidDatabaseBlob; | |
617 | case CSSMERR_APPLEDL_INVALID_KEY_BLOB: | |
618 | return errSecInvalidKeyBlob; | |
619 | case CSSMERR_APPLEDL_INCOMPATIBLE_DATABASE_BLOB: | |
620 | return errSecIncompatibleDatabaseBlob; | |
621 | case CSSMERR_APPLEDL_INCOMPATIBLE_KEY_BLOB: | |
622 | return errSecIncompatibleKeyBlob; | |
623 | case CSSMERR_APPLETP_HOSTNAME_MISMATCH: | |
624 | return errSecHostNameMismatch; | |
625 | case CSSMERR_APPLETP_UNKNOWN_CRITICAL_EXTEN: | |
626 | return errSecUnknownCriticalExtensionFlag; | |
627 | case CSSMERR_APPLETP_NO_BASIC_CONSTRAINTS: | |
628 | return errSecNoBasicConstraints; | |
629 | case CSSMERR_APPLETP_INVALID_AUTHORITY_ID: | |
630 | return errSecInvalidAuthorityKeyID; | |
631 | case CSSMERR_APPLETP_INVALID_SUBJECT_ID: | |
632 | return errSecInvalidSubjectKeyID; | |
633 | case CSSMERR_APPLETP_INVALID_KEY_USAGE: | |
634 | return errSecInvalidKeyUsageForPolicy; | |
635 | case CSSMERR_APPLETP_INVALID_EXTENDED_KEY_USAGE: | |
636 | return errSecInvalidExtendedKeyUsage; | |
637 | case CSSMERR_APPLETP_INVALID_ID_LINKAGE: | |
638 | return errSecInvalidIDLinkage; | |
639 | case CSSMERR_APPLETP_PATH_LEN_CONSTRAINT: | |
640 | return errSecPathLengthConstraintExceeded; | |
641 | case CSSMERR_APPLETP_INVALID_ROOT: | |
642 | return errSecInvalidRoot; | |
643 | case CSSMERR_APPLETP_CRL_EXPIRED: | |
644 | return errSecCRLExpired; | |
645 | case CSSMERR_APPLETP_CRL_NOT_VALID_YET: | |
646 | return errSecCRLNotValidYet; | |
647 | case CSSMERR_APPLETP_CRL_NOT_FOUND: | |
648 | return errSecCRLNotFound; | |
649 | case CSSMERR_APPLETP_CRL_SERVER_DOWN: | |
650 | return errSecCRLServerDown; | |
651 | case CSSMERR_APPLETP_CRL_BAD_URI: | |
652 | return errSecCRLBadURI; | |
653 | case CSSMERR_APPLETP_UNKNOWN_CERT_EXTEN: | |
654 | return errSecUnknownCertExtension; | |
655 | case CSSMERR_APPLETP_UNKNOWN_CRL_EXTEN: | |
656 | return errSecUnknownCRLExtension; | |
657 | case CSSMERR_APPLETP_CRL_NOT_TRUSTED: | |
658 | return errSecCRLNotTrusted; | |
659 | case CSSMERR_APPLETP_CRL_POLICY_FAIL: | |
660 | return errSecCRLPolicyFailed; | |
661 | case CSSMERR_APPLETP_IDP_FAIL: | |
662 | return errSecIDPFailure; | |
663 | case CSSMERR_APPLETP_SMIME_EMAIL_ADDRS_NOT_FOUND: | |
664 | return errSecSMIMEEmailAddressesNotFound; | |
665 | case CSSMERR_APPLETP_SMIME_BAD_EXT_KEY_USE: | |
666 | return errSecSMIMEBadExtendedKeyUsage; | |
667 | case CSSMERR_APPLETP_SMIME_BAD_KEY_USE: | |
668 | return errSecSMIMEBadKeyUsage; | |
669 | case CSSMERR_APPLETP_SMIME_KEYUSAGE_NOT_CRITICAL: | |
670 | return errSecSMIMEKeyUsageNotCritical; | |
671 | case CSSMERR_APPLETP_SMIME_NO_EMAIL_ADDRS: | |
672 | return errSecSMIMENoEmailAddress; | |
673 | case CSSMERR_APPLETP_SMIME_SUBJ_ALT_NAME_NOT_CRIT: | |
674 | return errSecSMIMESubjAltNameNotCritical; | |
675 | case CSSMERR_APPLETP_SSL_BAD_EXT_KEY_USE: | |
676 | return errSecSSLBadExtendedKeyUsage; | |
677 | case CSSMERR_APPLETP_OCSP_BAD_RESPONSE: | |
678 | return errSecOCSPBadResponse; | |
679 | case CSSMERR_APPLETP_OCSP_BAD_REQUEST: | |
680 | return errSecOCSPBadRequest; | |
681 | case CSSMERR_APPLETP_OCSP_UNAVAILABLE: | |
682 | return errSecOCSPUnavailable; | |
683 | case CSSMERR_APPLETP_OCSP_STATUS_UNRECOGNIZED: | |
684 | return errSecOCSPStatusUnrecognized; | |
685 | case CSSMERR_APPLETP_INCOMPLETE_REVOCATION_CHECK: | |
686 | return errSecIncompleteCertRevocationCheck; | |
687 | case CSSMERR_APPLETP_NETWORK_FAILURE: | |
688 | return errSecNetworkFailure; | |
689 | case CSSMERR_APPLETP_OCSP_NOT_TRUSTED: | |
690 | return errSecOCSPNotTrustedToAnchor; | |
691 | case CSSMERR_APPLETP_OCSP_SIG_ERROR: | |
692 | return errSecOCSPSignatureError; | |
693 | case CSSMERR_APPLETP_OCSP_NO_SIGNER: | |
694 | return errSecOCSPNoSigner; | |
695 | case CSSMERR_APPLETP_OCSP_RESP_MALFORMED_REQ: | |
696 | return errSecOCSPResponderMalformedReq; | |
697 | case CSSMERR_APPLETP_OCSP_RESP_INTERNAL_ERR: | |
698 | return errSecOCSPResponderInternalError; | |
699 | case CSSMERR_APPLETP_OCSP_RESP_TRY_LATER: | |
700 | return errSecOCSPResponderTryLater; | |
701 | case CSSMERR_APPLETP_OCSP_RESP_SIG_REQUIRED: | |
702 | return errSecOCSPResponderSignatureRequired; | |
703 | case CSSMERR_APPLETP_OCSP_RESP_UNAUTHORIZED: | |
704 | return errSecOCSPResponderUnauthorized; | |
705 | case CSSMERR_APPLETP_OCSP_NONCE_MISMATCH: | |
706 | return errSecOCSPResponseNonceMismatch; | |
707 | case CSSMERR_APPLETP_CS_BAD_CERT_CHAIN_LENGTH: | |
708 | return errSecCodeSigningBadCertChainLength; | |
709 | case CSSMERR_APPLETP_CS_NO_BASIC_CONSTRAINTS: | |
710 | return errSecCodeSigningNoBasicConstraints; | |
711 | case CSSMERR_APPLETP_CS_BAD_PATH_LENGTH: | |
712 | return errSecCodeSigningBadPathLengthConstraint; | |
713 | case CSSMERR_APPLETP_CS_NO_EXTENDED_KEY_USAGE: | |
714 | return errSecCodeSigningNoExtendedKeyUsage; | |
715 | case CSSMERR_APPLETP_CODE_SIGN_DEVELOPMENT: | |
716 | return errSecCodeSigningDevelopment; | |
717 | case CSSMERR_APPLETP_RS_BAD_CERT_CHAIN_LENGTH: | |
718 | return errSecResourceSignBadCertChainLength; | |
719 | case CSSMERR_APPLETP_RS_BAD_EXTENDED_KEY_USAGE: | |
720 | return errSecResourceSignBadExtKeyUsage; | |
721 | case CSSMERR_APPLETP_TRUST_SETTING_DENY: | |
722 | return errSecTrustSettingDeny; | |
723 | case CSSMERR_APPLETP_INVALID_EMPTY_SUBJECT: | |
724 | return errSecInvalidSubjectName; | |
725 | case CSSMERR_APPLETP_UNKNOWN_QUAL_CERT_STATEMENT: | |
726 | return errSecUnknownQualifiedCertStatement; | |
727 | case CSSMERR_APPLETP_MISSING_REQUIRED_EXTENSION: | |
728 | return errSecMissingRequiredExtension; | |
729 | case CSSMERR_APPLETP_EXT_KEYUSAGE_NOT_CRITICAL: | |
730 | return errSecExtendedKeyUsageNotCritical; | |
731 | case CSSMERR_APPLE_DOTMAC_REQ_QUEUED: | |
732 | return errSecMobileMeRequestQueued; | |
733 | case CSSMERR_APPLE_DOTMAC_REQ_REDIRECT: | |
734 | return errSecMobileMeRequestRedirected; | |
735 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_ERR: | |
736 | return errSecMobileMeServerError; | |
737 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_NOT_AVAIL: | |
738 | return errSecMobileMeServerNotAvailable; | |
739 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_ALREADY_EXIST: | |
740 | return errSecMobileMeServerAlreadyExists; | |
741 | case CSSMERR_APPLE_DOTMAC_REQ_SERVER_SERVICE_ERROR: | |
742 | return errSecMobileMeServerServiceErr; | |
743 | case CSSMERR_APPLE_DOTMAC_REQ_IS_PENDING: | |
744 | return errSecMobileMeRequestAlreadyPending; | |
745 | case CSSMERR_APPLE_DOTMAC_NO_REQ_PENDING: | |
746 | return errSecMobileMeNoRequestPending; | |
747 | case CSSMERR_APPLE_DOTMAC_CSR_VERIFY_FAIL: | |
748 | return errSecMobileMeCSRVerifyFailure; | |
749 | case CSSMERR_APPLE_DOTMAC_FAILED_CONSISTENCY_CHECK: | |
750 | return errSecMobileMeFailedConsistencyCheck; | |
751 | case CSSMERR_CSSM_NOT_INITIALIZED: | |
752 | return errSecNotInitialized; | |
753 | case CSSMERR_CSSM_INVALID_HANDLE_USAGE: | |
754 | return errSecInvalidHandleUsage; | |
755 | case CSSMERR_CSSM_PVC_REFERENT_NOT_FOUND: | |
756 | return errSecPVCReferentNotFound; | |
757 | case CSSMERR_CSSM_FUNCTION_INTEGRITY_FAIL: | |
758 | return errSecFunctionIntegrityFail; | |
759 | case CSSMERR_CSSM_SELF_CHECK_FAILED: | |
760 | case CSSMERR_CSP_SELF_CHECK_FAILED: | |
761 | return errSecSelfCheckFailed; | |
762 | case CSSMERR_CSSM_MODULE_MANIFEST_VERIFY_FAILED: | |
763 | return errSecModuleManifestVerifyFailed; | |
764 | case CSSMERR_CSSM_INVALID_GUID: | |
765 | return errSecInvalidGUID; | |
766 | case CSSMERR_CSSM_INCOMPATIBLE_VERSION: | |
767 | return errSecIncompatibleVersion; | |
768 | case CSSMERR_CSSM_PVC_ALREADY_CONFIGURED: | |
769 | return errSecPVCAlreadyConfigured; | |
770 | case CSSMERR_CSSM_INVALID_PVC: | |
771 | return errSecInvalidPVC; | |
772 | case CSSMERR_CSSM_EMM_LOAD_FAILED: | |
773 | return errSecEMMLoadFailed; | |
774 | case CSSMERR_CSSM_EMM_UNLOAD_FAILED: | |
775 | return errSecEMMUnloadFailed; | |
776 | case CSSMERR_CSSM_ADDIN_LOAD_FAILED: | |
777 | return errSecAddinLoadFailed; | |
778 | case CSSMERR_CSSM_INVALID_KEY_HIERARCHY: | |
779 | return errSecInvalidKeyHierarchy; | |
780 | case CSSMERR_CSSM_ADDIN_UNLOAD_FAILED: | |
781 | return errSecAddinUnloadFailed; | |
782 | case CSSMERR_CSSM_LIB_REF_NOT_FOUND: | |
783 | return errSecLibraryReferenceNotFound; | |
784 | case CSSMERR_CSSM_INVALID_ADDIN_FUNCTION_TABLE: | |
785 | return errSecInvalidAddinFunctionTable; | |
786 | case CSSMERR_CSSM_INVALID_SERVICE_MASK: | |
787 | return errSecInvalidServiceMask; | |
788 | case CSSMERR_CSSM_MODULE_NOT_LOADED: | |
789 | return errSecModuleNotLoaded; | |
790 | case CSSMERR_CSSM_INVALID_SUBSERVICEID: | |
791 | return errSecInvalidSubServiceID; | |
792 | case CSSMERR_CSSM_ATTRIBUTE_NOT_IN_CONTEXT: | |
793 | return errSecAttributeNotInContext; | |
794 | case CSSMERR_CSSM_MODULE_MANAGER_INITIALIZE_FAIL: | |
795 | return errSecModuleManagerInitializeFailed; | |
796 | case CSSMERR_CSSM_MODULE_MANAGER_NOT_FOUND: | |
797 | return errSecModuleManagerNotFound; | |
798 | case CSSMERR_CSSM_EVENT_NOTIFICATION_CALLBACK_NOT_FOUND: | |
799 | return errSecEventNotificationCallbackNotFound; | |
800 | case CSSMERR_CSP_INPUT_LENGTH_ERROR: | |
801 | return errSecInputLengthError; | |
802 | case CSSMERR_CSP_OUTPUT_LENGTH_ERROR: | |
803 | return errSecOutputLengthError; | |
804 | case CSSMERR_CSP_PRIVILEGE_NOT_SUPPORTED: | |
805 | return errSecPrivilegeNotSupported; | |
806 | case CSSMERR_CSP_DEVICE_ERROR: | |
807 | return errSecDeviceError; | |
808 | case CSSMERR_CSP_ATTACH_HANDLE_BUSY: | |
809 | return errSecAttachHandleBusy; | |
810 | case CSSMERR_CSP_NOT_LOGGED_IN: | |
811 | return errSecNotLoggedIn; | |
812 | case CSSMERR_CSP_ALGID_MISMATCH: | |
813 | return errSecAlgorithmMismatch; | |
814 | case CSSMERR_CSP_KEY_USAGE_INCORRECT: | |
815 | return errSecKeyUsageIncorrect; | |
816 | case CSSMERR_CSP_KEY_BLOB_TYPE_INCORRECT: | |
817 | return errSecKeyBlobTypeIncorrect; | |
818 | case CSSMERR_CSP_KEY_HEADER_INCONSISTENT: | |
819 | return errSecKeyHeaderInconsistent; | |
820 | case CSSMERR_CSP_UNSUPPORTED_KEY_FORMAT: | |
821 | return errSecUnsupportedKeyFormat; | |
822 | case CSSMERR_CSP_UNSUPPORTED_KEY_SIZE: | |
823 | return errSecUnsupportedKeySize; | |
824 | case CSSMERR_CSP_INVALID_KEYUSAGE_MASK: | |
825 | return errSecInvalidKeyUsageMask; | |
826 | case CSSMERR_CSP_UNSUPPORTED_KEYUSAGE_MASK: | |
827 | return errSecUnsupportedKeyUsageMask; | |
828 | case CSSMERR_CSP_INVALID_KEYATTR_MASK: | |
829 | return errSecInvalidKeyAttributeMask; | |
830 | case CSSMERR_CSP_UNSUPPORTED_KEYATTR_MASK: | |
831 | return errSecUnsupportedKeyAttributeMask; | |
832 | case CSSMERR_CSP_INVALID_KEY_LABEL: | |
833 | return errSecInvalidKeyLabel; | |
834 | case CSSMERR_CSP_UNSUPPORTED_KEY_LABEL: | |
835 | return errSecUnsupportedKeyLabel; | |
836 | case CSSMERR_CSP_INVALID_KEY_FORMAT: | |
837 | return errSecInvalidKeyFormat; | |
838 | case CSSMERR_CSP_VECTOR_OF_BUFS_UNSUPPORTED: | |
839 | return errSecUnsupportedVectorOfBuffers; | |
840 | case CSSMERR_CSP_INVALID_INPUT_VECTOR: | |
841 | return errSecInvalidInputVector; | |
842 | case CSSMERR_CSP_INVALID_OUTPUT_VECTOR: | |
843 | return errSecInvalidOutputVector; | |
844 | case CSSMERR_CSP_INVALID_CONTEXT: | |
845 | return errSecInvalidContext; | |
846 | case CSSMERR_CSP_INVALID_ALGORITHM: | |
847 | return errSecInvalidAlgorithm; | |
848 | case CSSMERR_CSP_INVALID_ATTR_KEY: | |
849 | return errSecInvalidAttributeKey; | |
850 | case CSSMERR_CSP_MISSING_ATTR_KEY: | |
851 | return errSecMissingAttributeKey; | |
852 | case CSSMERR_CSP_INVALID_ATTR_INIT_VECTOR: | |
853 | return errSecInvalidAttributeInitVector; | |
854 | case CSSMERR_CSP_MISSING_ATTR_INIT_VECTOR: | |
855 | return errSecMissingAttributeInitVector; | |
856 | case CSSMERR_CSP_INVALID_ATTR_SALT: | |
857 | return errSecInvalidAttributeSalt; | |
858 | case CSSMERR_CSP_MISSING_ATTR_SALT: | |
859 | return errSecMissingAttributeSalt; | |
860 | case CSSMERR_CSP_INVALID_ATTR_PADDING: | |
861 | return errSecInvalidAttributePadding; | |
862 | case CSSMERR_CSP_MISSING_ATTR_PADDING: | |
863 | return errSecMissingAttributePadding; | |
864 | case CSSMERR_CSP_INVALID_ATTR_RANDOM: | |
865 | return errSecInvalidAttributeRandom; | |
866 | case CSSMERR_CSP_MISSING_ATTR_RANDOM: | |
867 | return errSecMissingAttributeRandom; | |
868 | case CSSMERR_CSP_INVALID_ATTR_SEED: | |
869 | return errSecInvalidAttributeSeed; | |
870 | case CSSMERR_CSP_MISSING_ATTR_SEED: | |
871 | return errSecMissingAttributeSeed; | |
872 | case CSSMERR_CSP_INVALID_ATTR_PASSPHRASE: | |
873 | return errSecInvalidAttributePassphrase; | |
874 | case CSSMERR_CSP_MISSING_ATTR_PASSPHRASE: | |
875 | return errSecMissingAttributePassphrase; | |
876 | case CSSMERR_CSP_INVALID_ATTR_KEY_LENGTH: | |
877 | return errSecInvalidAttributeKeyLength; | |
878 | case CSSMERR_CSP_MISSING_ATTR_KEY_LENGTH: | |
879 | return errSecMissingAttributeKeyLength; | |
880 | case CSSMERR_CSP_INVALID_ATTR_BLOCK_SIZE: | |
881 | return errSecInvalidAttributeBlockSize; | |
882 | case CSSMERR_CSP_MISSING_ATTR_BLOCK_SIZE: | |
883 | return errSecMissingAttributeBlockSize; | |
884 | case CSSMERR_CSP_INVALID_ATTR_OUTPUT_SIZE: | |
885 | return errSecInvalidAttributeOutputSize; | |
886 | case CSSMERR_CSP_MISSING_ATTR_OUTPUT_SIZE: | |
887 | return errSecMissingAttributeOutputSize; | |
888 | case CSSMERR_CSP_INVALID_ATTR_ROUNDS: | |
889 | return errSecInvalidAttributeRounds; | |
890 | case CSSMERR_CSP_MISSING_ATTR_ROUNDS: | |
891 | return errSecMissingAttributeRounds; | |
892 | case CSSMERR_CSP_INVALID_ATTR_ALG_PARAMS: | |
893 | return errSecInvalidAlgorithmParms; | |
894 | case CSSMERR_CSP_MISSING_ATTR_ALG_PARAMS: | |
895 | return errSecMissingAlgorithmParms; | |
896 | case CSSMERR_CSP_INVALID_ATTR_LABEL: | |
897 | return errSecInvalidAttributeLabel; | |
898 | case CSSMERR_CSP_MISSING_ATTR_LABEL: | |
899 | return errSecMissingAttributeLabel; | |
900 | case CSSMERR_CSP_INVALID_ATTR_KEY_TYPE: | |
901 | return errSecInvalidAttributeKeyType; | |
902 | case CSSMERR_CSP_MISSING_ATTR_KEY_TYPE: | |
903 | return errSecMissingAttributeKeyType; | |
904 | case CSSMERR_CSP_INVALID_ATTR_MODE: | |
905 | return errSecInvalidAttributeMode; | |
906 | case CSSMERR_CSP_MISSING_ATTR_MODE: | |
907 | return errSecMissingAttributeMode; | |
908 | case CSSMERR_CSP_INVALID_ATTR_EFFECTIVE_BITS: | |
909 | return errSecInvalidAttributeEffectiveBits; | |
910 | case CSSMERR_CSP_MISSING_ATTR_EFFECTIVE_BITS: | |
911 | return errSecMissingAttributeEffectiveBits; | |
912 | case CSSMERR_CSP_INVALID_ATTR_START_DATE: | |
913 | return errSecInvalidAttributeStartDate; | |
914 | case CSSMERR_CSP_MISSING_ATTR_START_DATE: | |
915 | return errSecMissingAttributeStartDate; | |
916 | case CSSMERR_CSP_INVALID_ATTR_END_DATE: | |
917 | return errSecInvalidAttributeEndDate; | |
918 | case CSSMERR_CSP_MISSING_ATTR_END_DATE: | |
919 | return errSecMissingAttributeEndDate; | |
920 | case CSSMERR_CSP_INVALID_ATTR_VERSION: | |
921 | return errSecInvalidAttributeVersion; | |
922 | case CSSMERR_CSP_MISSING_ATTR_VERSION: | |
923 | return errSecMissingAttributeVersion; | |
924 | case CSSMERR_CSP_INVALID_ATTR_PRIME: | |
925 | return errSecInvalidAttributePrime; | |
926 | case CSSMERR_CSP_MISSING_ATTR_PRIME: | |
927 | return errSecMissingAttributePrime; | |
928 | case CSSMERR_CSP_INVALID_ATTR_BASE: | |
929 | return errSecInvalidAttributeBase; | |
930 | case CSSMERR_CSP_MISSING_ATTR_BASE: | |
931 | return errSecMissingAttributeBase; | |
932 | case CSSMERR_CSP_INVALID_ATTR_SUBPRIME: | |
933 | return errSecInvalidAttributeSubprime; | |
934 | case CSSMERR_CSP_MISSING_ATTR_SUBPRIME: | |
935 | return errSecMissingAttributeSubprime; | |
936 | case CSSMERR_CSP_INVALID_ATTR_ITERATION_COUNT: | |
937 | return errSecInvalidAttributeIterationCount; | |
938 | case CSSMERR_CSP_MISSING_ATTR_ITERATION_COUNT: | |
939 | return errSecMissingAttributeIterationCount; | |
940 | case CSSMERR_CSP_INVALID_ATTR_DL_DB_HANDLE: | |
941 | return errSecInvalidAttributeDLDBHandle; | |
942 | case CSSMERR_CSP_MISSING_ATTR_DL_DB_HANDLE: | |
943 | return errSecMissingAttributeDLDBHandle; | |
944 | case CSSMERR_CSP_INVALID_ATTR_ACCESS_CREDENTIALS: | |
945 | return errSecInvalidAttributeAccessCredentials; | |
946 | case CSSMERR_CSP_MISSING_ATTR_ACCESS_CREDENTIALS: | |
947 | return errSecMissingAttributeAccessCredentials; | |
948 | case CSSMERR_CSP_INVALID_ATTR_PUBLIC_KEY_FORMAT: | |
949 | return errSecInvalidAttributePublicKeyFormat; | |
950 | case CSSMERR_CSP_MISSING_ATTR_PUBLIC_KEY_FORMAT: | |
951 | return errSecMissingAttributePublicKeyFormat; | |
952 | case CSSMERR_CSP_INVALID_ATTR_PRIVATE_KEY_FORMAT: | |
953 | return errSecInvalidAttributePrivateKeyFormat; | |
954 | case CSSMERR_CSP_MISSING_ATTR_PRIVATE_KEY_FORMAT: | |
955 | return errSecMissingAttributePrivateKeyFormat; | |
956 | case CSSMERR_CSP_INVALID_ATTR_SYMMETRIC_KEY_FORMAT: | |
957 | return errSecInvalidAttributeSymmetricKeyFormat; | |
958 | case CSSMERR_CSP_MISSING_ATTR_SYMMETRIC_KEY_FORMAT: | |
959 | return errSecMissingAttributeSymmetricKeyFormat; | |
960 | case CSSMERR_CSP_INVALID_ATTR_WRAPPED_KEY_FORMAT: | |
961 | return errSecInvalidAttributeWrappedKeyFormat; | |
962 | case CSSMERR_CSP_MISSING_ATTR_WRAPPED_KEY_FORMAT: | |
963 | return errSecMissingAttributeWrappedKeyFormat; | |
964 | case CSSMERR_CSP_STAGED_OPERATION_IN_PROGRESS: | |
965 | return errSecStagedOperationInProgress; | |
966 | case CSSMERR_CSP_STAGED_OPERATION_NOT_STARTED: | |
967 | return errSecStagedOperationNotStarted; | |
968 | case CSSMERR_CSP_VERIFY_FAILED: | |
969 | return errSecVerifyFailed; | |
970 | case CSSMERR_CSP_QUERY_SIZE_UNKNOWN: | |
971 | return errSecQuerySizeUnknown; | |
972 | case CSSMERR_CSP_BLOCK_SIZE_MISMATCH: | |
973 | return errSecBlockSizeMismatch; | |
974 | case CSSMERR_CSP_PUBLIC_KEY_INCONSISTENT: | |
975 | return errSecPublicKeyInconsistent; | |
976 | case CSSMERR_CSP_DEVICE_VERIFY_FAILED: | |
977 | return errSecDeviceVerifyFailed; | |
978 | case CSSMERR_CSP_INVALID_LOGIN_NAME: | |
979 | return errSecInvalidLoginName; | |
980 | case CSSMERR_CSP_ALREADY_LOGGED_IN: | |
981 | return errSecAlreadyLoggedIn; | |
982 | case CSSMERR_CSP_INVALID_DIGEST_ALGORITHM: | |
983 | return errSecInvalidDigestAlgorithm; | |
984 | case CSSMERR_TP_INVALID_CRLGROUP: | |
985 | return errSecInvalidCRLGroup; | |
986 | case CSSMERR_TP_CERTIFICATE_CANT_OPERATE: | |
987 | return errSecCertificateCannotOperate; | |
988 | case CSSMERR_TP_CERT_EXPIRED: | |
989 | return errSecCertificateExpired; | |
990 | case CSSMERR_TP_CERT_NOT_VALID_YET: | |
991 | return errSecCertificateNotValidYet; | |
992 | case CSSMERR_TP_CERT_REVOKED: | |
993 | return errSecCertificateRevoked; | |
994 | case CSSMERR_TP_CERT_SUSPENDED: | |
995 | return errSecCertificateSuspended; | |
996 | case CSSMERR_TP_INSUFFICIENT_CREDENTIALS: | |
997 | return errSecInsufficientCredentials; | |
998 | case CSSMERR_TP_INVALID_ACTION: | |
999 | return errSecInvalidAction; | |
1000 | case CSSMERR_TP_INVALID_AUTHORITY: | |
1001 | return errSecInvalidAuthority; | |
1002 | case CSSMERR_TP_VERIFY_ACTION_FAILED: | |
1003 | return errSecVerifyActionFailed; | |
1004 | case CSSMERR_TP_INVALID_CERT_AUTHORITY: | |
1005 | case CSSMERR_APPLETP_INVALID_CA: | |
1006 | return errSecInvalidCertAuthority; | |
1007 | case CSSMERR_TP_INVALID_CRL_AUTHORITY: | |
1008 | return errSecInvaldCRLAuthority; | |
1009 | case CSSMERR_TP_INVALID_CRL_ENCODING: | |
1010 | return errSecInvalidCRLEncoding; | |
1011 | case CSSMERR_TP_INVALID_CRL_TYPE: | |
1012 | return errSecInvalidCRLType; | |
1013 | case CSSMERR_TP_INVALID_CRL: | |
1014 | return errSecInvalidCRL; | |
1015 | case CSSMERR_TP_INVALID_FORM_TYPE: | |
1016 | return errSecInvalidFormType; | |
1017 | case CSSMERR_TP_INVALID_ID: | |
1018 | return errSecInvalidID; | |
1019 | case CSSMERR_TP_INVALID_IDENTIFIER: | |
1020 | return errSecInvalidIdentifier; | |
1021 | case CSSMERR_TP_INVALID_INDEX: | |
1022 | return errSecInvalidIndex; | |
1023 | case CSSMERR_TP_INVALID_POLICY_IDENTIFIERS: | |
1024 | return errSecInvalidPolicyIdentifiers; | |
1025 | case CSSMERR_TP_INVALID_TIMESTRING: | |
1026 | return errSecInvalidTimeString; | |
1027 | case CSSMERR_TP_INVALID_REASON: | |
1028 | return errSecInvalidReason; | |
1029 | case CSSMERR_TP_INVALID_REQUEST_INPUTS: | |
1030 | return errSecInvalidRequestInputs; | |
1031 | case CSSMERR_TP_INVALID_RESPONSE_VECTOR: | |
1032 | return errSecInvalidResponseVector; | |
1033 | case CSSMERR_TP_INVALID_STOP_ON_POLICY: | |
1034 | return errSecInvalidStopOnPolicy; | |
1035 | case CSSMERR_TP_INVALID_TUPLE: | |
1036 | return errSecInvalidTuple; | |
1037 | case CSSMERR_TP_NOT_SIGNER: | |
1038 | return errSecNotSigner; | |
1039 | case CSSMERR_TP_NOT_TRUSTED: | |
1040 | return errSecNotTrusted; | |
1041 | case CSSMERR_TP_NO_DEFAULT_AUTHORITY: | |
1042 | return errSecNoDefaultAuthority; | |
1043 | case CSSMERR_TP_REJECTED_FORM: | |
1044 | return errSecRejectedForm; | |
1045 | case CSSMERR_TP_REQUEST_LOST: | |
1046 | return errSecRequestLost; | |
1047 | case CSSMERR_TP_REQUEST_REJECTED: | |
1048 | return errSecRequestRejected; | |
1049 | case CSSMERR_TP_UNSUPPORTED_ADDR_TYPE: | |
1050 | return errSecUnsupportedAddressType; | |
1051 | case CSSMERR_TP_UNSUPPORTED_SERVICE: | |
1052 | return errSecUnsupportedService; | |
1053 | case CSSMERR_TP_INVALID_TUPLEGROUP: | |
1054 | return errSecInvalidTupleGroup; | |
1055 | case CSSMERR_AC_INVALID_BASE_ACLS: | |
1056 | return errSecInvalidBaseACLs; | |
1057 | case CSSMERR_AC_INVALID_TUPLE_CREDENTIALS: | |
1058 | return errSecInvalidTupleCredendtials; | |
1059 | case CSSMERR_AC_INVALID_ENCODING: | |
1060 | return errSecInvalidEncoding; | |
1061 | case CSSMERR_AC_INVALID_VALIDITY_PERIOD: | |
1062 | return errSecInvalidValidityPeriod; | |
1063 | case CSSMERR_AC_INVALID_REQUESTOR: | |
1064 | return errSecInvalidRequestor; | |
1065 | case CSSMERR_AC_INVALID_REQUEST_DESCRIPTOR: | |
1066 | return errSecRequestDescriptor; | |
1067 | case CSSMERR_CL_INVALID_BUNDLE_INFO: | |
1068 | return errSecInvalidBundleInfo; | |
1069 | case CSSMERR_CL_INVALID_CRL_INDEX: | |
1070 | return errSecInvalidCRLIndex; | |
1071 | case CSSMERR_CL_NO_FIELD_VALUES: | |
1072 | return errSecNoFieldValues; | |
1073 | case CSSMERR_DL_UNSUPPORTED_FIELD_FORMAT: | |
1074 | return errSecUnsupportedFieldFormat; | |
1075 | case CSSMERR_DL_UNSUPPORTED_INDEX_INFO: | |
1076 | return errSecUnsupportedIndexInfo; | |
1077 | case CSSMERR_DL_UNSUPPORTED_LOCALITY: | |
1078 | return errSecUnsupportedLocality; | |
1079 | case CSSMERR_DL_UNSUPPORTED_NUM_ATTRIBUTES: | |
1080 | return errSecUnsupportedNumAttributes; | |
1081 | case CSSMERR_DL_UNSUPPORTED_NUM_INDEXES: | |
1082 | return errSecUnsupportedNumIndexes; | |
1083 | case CSSMERR_DL_UNSUPPORTED_NUM_RECORDTYPES: | |
1084 | return errSecUnsupportedNumRecordTypes; | |
1085 | case CSSMERR_DL_FIELD_SPECIFIED_MULTIPLE: | |
1086 | return errSecFieldSpecifiedMultiple; | |
1087 | case CSSMERR_DL_INCOMPATIBLE_FIELD_FORMAT: | |
1088 | return errSecIncompatibleFieldFormat; | |
1089 | case CSSMERR_DL_INVALID_PARSING_MODULE: | |
1090 | return errSecInvalidParsingModule; | |
1091 | case CSSMERR_DL_DB_LOCKED: | |
1092 | return errSecDatabaseLocked; | |
1093 | case CSSMERR_DL_DATASTORE_IS_OPEN: | |
1094 | return errSecDatastoreIsOpen; | |
1095 | case CSSMERR_DL_MISSING_VALUE: | |
1096 | return errSecMissingValue; | |
1097 | case CSSMERR_DL_UNSUPPORTED_QUERY_LIMITS: | |
1098 | return errSecUnsupportedQueryLimits; | |
1099 | case CSSMERR_DL_UNSUPPORTED_NUM_SELECTION_PREDS: | |
1100 | return errSecUnsupportedNumSelectionPreds; | |
1101 | case CSSMERR_DL_UNSUPPORTED_OPERATOR: | |
1102 | return errSecUnsupportedOperator; | |
1103 | case CSSMERR_DL_INVALID_DB_LOCATION: | |
1104 | return errSecInvalidDBLocation; | |
1105 | case CSSMERR_DL_INVALID_ACCESS_REQUEST: | |
1106 | return errSecInvalidAccessRequest; | |
1107 | case CSSMERR_DL_INVALID_INDEX_INFO: | |
1108 | return errSecInvalidIndexInfo; | |
1109 | case CSSMERR_DL_INVALID_NEW_OWNER: | |
1110 | return errSecInvalidNewOwner; | |
1111 | case CSSMERR_DL_INVALID_MODIFY_MODE: | |
1112 | return errSecInvalidModifyMode; | |
1113 | case CSSMERR_DL_RECORD_MODIFIED: | |
1114 | return errSecRecordModified; | |
1115 | case CSSMERR_DL_ENDOFDATA: | |
1116 | return errSecEndOfData; | |
1117 | case CSSMERR_DL_INVALID_VALUE: | |
1118 | return errSecInvalidValue; | |
1119 | case CSSMERR_DL_MULTIPLE_VALUES_UNSUPPORTED: | |
1120 | return errSecMultipleValuesUnsupported; | |
1121 | default: | |
1122 | return osStatus; | |
1123 | } | |
1124 | } |