SecBase.pas 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856
  1. {
  2. * Copyright (c) 2000-2013 Apple Inc. All Rights Reserved.
  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. { Pascal Translation: Jonas Maebe, <[email protected]>, October 2009 }
  24. { Pascal Translation Update: Jonas Maebe <[email protected]>, October 2012 }
  25. { Pascal Translation Update: Jonas Maebe <[email protected]>, August 2015 }
  26. {
  27. Modified for use with Free Pascal
  28. Version 308
  29. Please report any bugs to <[email protected]>
  30. }
  31. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  32. {$mode macpas}
  33. {$modeswitch cblocks}
  34. {$packenum 1}
  35. {$macro on}
  36. {$inline on}
  37. {$calling mwpascal}
  38. unit SecBase;
  39. interface
  40. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  41. {$setc GAP_INTERFACES_VERSION := $0308}
  42. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  43. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  44. {$endc}
  45. {$ifc defined CPUPOWERPC and defined CPUI386}
  46. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  47. {$endc}
  48. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  49. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  50. {$endc}
  51. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  52. {$setc __ppc__ := 1}
  53. {$elsec}
  54. {$setc __ppc__ := 0}
  55. {$endc}
  56. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  57. {$setc __ppc64__ := 1}
  58. {$elsec}
  59. {$setc __ppc64__ := 0}
  60. {$endc}
  61. {$ifc not defined __i386__ and defined CPUI386}
  62. {$setc __i386__ := 1}
  63. {$elsec}
  64. {$setc __i386__ := 0}
  65. {$endc}
  66. {$ifc not defined __x86_64__ and defined CPUX86_64}
  67. {$setc __x86_64__ := 1}
  68. {$elsec}
  69. {$setc __x86_64__ := 0}
  70. {$endc}
  71. {$ifc not defined __arm__ and defined CPUARM}
  72. {$setc __arm__ := 1}
  73. {$elsec}
  74. {$setc __arm__ := 0}
  75. {$endc}
  76. {$ifc not defined __arm64__ and defined CPUAARCH64}
  77. {$setc __arm64__ := 1}
  78. {$elsec}
  79. {$setc __arm64__ := 0}
  80. {$endc}
  81. {$ifc defined cpu64}
  82. {$setc __LP64__ := 1}
  83. {$elsec}
  84. {$setc __LP64__ := 0}
  85. {$endc}
  86. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  87. {$error Conflicting definitions for __ppc__ and __i386__}
  88. {$endc}
  89. {$ifc defined __ppc__ and __ppc__}
  90. {$setc TARGET_CPU_PPC := TRUE}
  91. {$setc TARGET_CPU_PPC64 := FALSE}
  92. {$setc TARGET_CPU_X86 := FALSE}
  93. {$setc TARGET_CPU_X86_64 := FALSE}
  94. {$setc TARGET_CPU_ARM := FALSE}
  95. {$setc TARGET_CPU_ARM64 := FALSE}
  96. {$setc TARGET_OS_MAC := TRUE}
  97. {$setc TARGET_OS_IPHONE := FALSE}
  98. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  99. {$setc TARGET_OS_EMBEDDED := FALSE}
  100. {$elifc defined __ppc64__ and __ppc64__}
  101. {$setc TARGET_CPU_PPC := FALSE}
  102. {$setc TARGET_CPU_PPC64 := TRUE}
  103. {$setc TARGET_CPU_X86 := FALSE}
  104. {$setc TARGET_CPU_X86_64 := FALSE}
  105. {$setc TARGET_CPU_ARM := FALSE}
  106. {$setc TARGET_CPU_ARM64 := FALSE}
  107. {$setc TARGET_OS_MAC := TRUE}
  108. {$setc TARGET_OS_IPHONE := FALSE}
  109. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  110. {$setc TARGET_OS_EMBEDDED := FALSE}
  111. {$elifc defined __i386__ and __i386__}
  112. {$setc TARGET_CPU_PPC := FALSE}
  113. {$setc TARGET_CPU_PPC64 := FALSE}
  114. {$setc TARGET_CPU_X86 := TRUE}
  115. {$setc TARGET_CPU_X86_64 := FALSE}
  116. {$setc TARGET_CPU_ARM := FALSE}
  117. {$setc TARGET_CPU_ARM64 := FALSE}
  118. {$ifc defined iphonesim}
  119. {$setc TARGET_OS_MAC := FALSE}
  120. {$setc TARGET_OS_IPHONE := TRUE}
  121. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  122. {$elsec}
  123. {$setc TARGET_OS_MAC := TRUE}
  124. {$setc TARGET_OS_IPHONE := FALSE}
  125. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  126. {$endc}
  127. {$setc TARGET_OS_EMBEDDED := FALSE}
  128. {$elifc defined __x86_64__ and __x86_64__}
  129. {$setc TARGET_CPU_PPC := FALSE}
  130. {$setc TARGET_CPU_PPC64 := FALSE}
  131. {$setc TARGET_CPU_X86 := FALSE}
  132. {$setc TARGET_CPU_X86_64 := TRUE}
  133. {$setc TARGET_CPU_ARM := FALSE}
  134. {$setc TARGET_CPU_ARM64 := FALSE}
  135. {$ifc defined iphonesim}
  136. {$setc TARGET_OS_MAC := FALSE}
  137. {$setc TARGET_OS_IPHONE := TRUE}
  138. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  139. {$elsec}
  140. {$setc TARGET_OS_MAC := TRUE}
  141. {$setc TARGET_OS_IPHONE := FALSE}
  142. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  143. {$endc}
  144. {$setc TARGET_OS_EMBEDDED := FALSE}
  145. {$elifc defined __arm__ and __arm__}
  146. {$setc TARGET_CPU_PPC := FALSE}
  147. {$setc TARGET_CPU_PPC64 := FALSE}
  148. {$setc TARGET_CPU_X86 := FALSE}
  149. {$setc TARGET_CPU_X86_64 := FALSE}
  150. {$setc TARGET_CPU_ARM := TRUE}
  151. {$setc TARGET_CPU_ARM64 := FALSE}
  152. {$setc TARGET_OS_MAC := FALSE}
  153. {$setc TARGET_OS_IPHONE := TRUE}
  154. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  155. {$setc TARGET_OS_EMBEDDED := TRUE}
  156. {$elifc defined __arm64__ and __arm64__}
  157. {$setc TARGET_CPU_PPC := FALSE}
  158. {$setc TARGET_CPU_PPC64 := FALSE}
  159. {$setc TARGET_CPU_X86 := FALSE}
  160. {$setc TARGET_CPU_X86_64 := FALSE}
  161. {$setc TARGET_CPU_ARM := FALSE}
  162. {$setc TARGET_CPU_ARM64 := TRUE}
  163. {$ifc defined ios}
  164. {$setc TARGET_OS_MAC := FALSE}
  165. {$setc TARGET_OS_IPHONE := TRUE}
  166. {$setc TARGET_OS_EMBEDDED := TRUE}
  167. {$elsec}
  168. {$setc TARGET_OS_MAC := TRUE}
  169. {$setc TARGET_OS_IPHONE := FALSE}
  170. {$setc TARGET_OS_EMBEDDED := FALSE}
  171. {$endc}
  172. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  173. {$elsec}
  174. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  175. {$endc}
  176. {$ifc defined __LP64__ and __LP64__ }
  177. {$setc TARGET_CPU_64 := TRUE}
  178. {$elsec}
  179. {$setc TARGET_CPU_64 := FALSE}
  180. {$endc}
  181. {$ifc defined FPC_BIG_ENDIAN}
  182. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  183. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  184. {$elifc defined FPC_LITTLE_ENDIAN}
  185. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  186. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  187. {$elsec}
  188. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  189. {$endc}
  190. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  191. {$setc CALL_NOT_IN_CARBON := FALSE}
  192. {$setc OLDROUTINENAMES := FALSE}
  193. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  194. {$setc OPAQUE_UPP_TYPES := TRUE}
  195. {$setc OTCARBONAPPLICATION := TRUE}
  196. {$setc OTKERNEL := FALSE}
  197. {$setc PM_USE_SESSION_APIS := TRUE}
  198. {$setc TARGET_API_MAC_CARBON := TRUE}
  199. {$setc TARGET_API_MAC_OS8 := FALSE}
  200. {$setc TARGET_API_MAC_OSX := TRUE}
  201. {$setc TARGET_CARBON := TRUE}
  202. {$setc TARGET_CPU_68K := FALSE}
  203. {$setc TARGET_CPU_MIPS := FALSE}
  204. {$setc TARGET_CPU_SPARC := FALSE}
  205. {$setc TARGET_OS_UNIX := FALSE}
  206. {$setc TARGET_OS_WIN32 := FALSE}
  207. {$setc TARGET_RT_MAC_68881 := FALSE}
  208. {$setc TARGET_RT_MAC_CFM := FALSE}
  209. {$setc TARGET_RT_MAC_MACHO := TRUE}
  210. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  211. {$setc TYPE_BOOL := FALSE}
  212. {$setc TYPE_EXTENDED := FALSE}
  213. {$setc TYPE_LONGLONG := TRUE}
  214. uses MacTypes,CFBase;
  215. {$endc} {not MACOSALLINCLUDE}
  216. {$ifc TARGET_CPU_64 or TARGET_CPU_ARM}
  217. {$packrecords C}
  218. {$elsec}
  219. {$ALIGN POWER}
  220. {$endc} {TARGET_CPU_64}
  221. {!
  222. @header SecBase
  223. SecBase contains common declarations for the Security functions.
  224. }
  225. {!
  226. @typedef SecKeychainRef
  227. @abstract Contains information about a keychain.
  228. }
  229. type
  230. SecKeychainRef = ^OpaqueSecKeychainRef; { an opaque type }
  231. OpaqueSecKeychainRef = record end;
  232. SecKeychainRefPtr = ^SecKeychainRef; { when a var xx:SecKeychainRef parameter can be nil, it is changed to xx: SecKeychainRefPtr }
  233. {!
  234. @typedef SecKeychainItemRef
  235. @abstract Contains information about a keychain item.
  236. }
  237. type
  238. SecKeychainItemRef = ^OpaqueSecKeychainItemRef; { an opaque type }
  239. OpaqueSecKeychainItemRef = record end;
  240. SecKeychainItemRefPtr = ^SecKeychainItemRef; { when a var xx:SecKeychainItemRef parameter can be nil, it is changed to xx: SecKeychainItemRefPtr }
  241. {!
  242. @typedef SecKeychainSearchRef
  243. @abstract Contains information about a keychain search.
  244. }
  245. type
  246. SecKeychainSearchRef = ^OpaqueSecKeychainSearchRef; { an opaque type }
  247. OpaqueSecKeychainSearchRef = record end;
  248. SecKeychainSearchRefPtr = ^SecKeychainSearchRef; { when a var xx:SecKeychainSearchRef parameter can be nil, it is changed to xx: SecKeychainSearchRefPtr }
  249. {!
  250. @typedef SecKeychainAttrType
  251. @abstract Represents a keychain attribute type.
  252. }
  253. type
  254. SecKeychainAttrType = OSType;
  255. {!
  256. @struct SecKeychainAttribute
  257. @abstract Contains keychain attributes.
  258. @field tag A 4-byte attribute tag.
  259. @field length The length of the buffer pointed to by data.
  260. @field data A pointer to the attribute data.
  261. }
  262. type
  263. SecKeychainAttribute = record
  264. tag: SecKeychainAttrType;
  265. length: UInt32;
  266. data: UnivPtr;
  267. end;
  268. {!
  269. @typedef SecKeychainAttributePtr
  270. @abstract Represents a pointer to a keychain attribute structure.
  271. }
  272. SecKeychainAttributePtr = ^SecKeychainAttribute;
  273. {!
  274. @typedef SecKeychainAttributeList
  275. @abstract Represents a list of keychain attributes.
  276. @field count An unsigned 32-bit integer that represents the number of keychain attributes in the array.
  277. @field attr A pointer to the first keychain attribute in the array.
  278. }
  279. type
  280. SecKeychainAttributeListPtr = ^SecKeychainAttributeList;
  281. SecKeychainAttributeList = record
  282. count: UInt32;
  283. attr: SecKeychainAttributePtr;
  284. end;
  285. {!
  286. @typedef SecKeychainStatus
  287. @abstract Represents the status of a keychain.
  288. }
  289. type
  290. SecKeychainStatus = UInt32;
  291. {!
  292. @typedef SecTrustedApplicationRef
  293. @abstract Contains information about a trusted application.
  294. }
  295. type
  296. SecTrustedApplicationRef = ^OpaqueSecTrustedApplicationRef; { an opaque type }
  297. OpaqueSecTrustedApplicationRef = record end;
  298. {!
  299. @typedef SecPolicyRef
  300. @abstract Contains information about a policy.
  301. }
  302. type
  303. SecPolicyRef = ^OpaqueSecPolicyRef; { an opaque type }
  304. OpaqueSecPolicyRef = record end;
  305. {!
  306. @typedef SecCertificateRef
  307. @abstract Contains information about a certificate.
  308. }
  309. type
  310. SecCertificateRef = ^OpaqueSecCertificateRef; { an opaque type }
  311. OpaqueSecCertificateRef = record end;
  312. {!
  313. @typedef SecAccessRef
  314. @abstract Contains information about an access.
  315. }
  316. type
  317. SecAccessRef = ^OpaqueSecAccessRef; { an opaque type }
  318. OpaqueSecAccessRef = record end;
  319. {!
  320. @typedef SecIdentityRef
  321. @abstract Contains information about an identity.
  322. }
  323. type
  324. SecIdentityRef = ^OpaqueSecIdentityRef; { an opaque type }
  325. OpaqueSecIdentityRef = record end;
  326. {!
  327. @typedef SecKeyRef
  328. @abstract Contains information about a key.
  329. }
  330. type
  331. SecKeyRef = ^OpaqueSecKeyRef; { an opaque type }
  332. OpaqueSecKeyRef = record end;
  333. {!
  334. @typedef SecACLRef
  335. @abstract Contains information about an access control list (ACL) entry.
  336. }
  337. type
  338. SecACLRef = ^OpaqueSecTrustRef; { an opaque type }
  339. OpaqueSecTrustRef = record end;
  340. {!
  341. @typedef SecPasswordRef
  342. @abstract Contains information about a password.
  343. }
  344. type
  345. SecPasswordRef = ^OpaqueSecPasswordRef; { an opaque type }
  346. OpaqueSecPasswordRef = record end;
  347. {!
  348. @typedef SecKeychainAttributeInfo
  349. @abstract Represents an attribute.
  350. @field count The number of tag-format pairs in the respective arrays.
  351. @field tag A pointer to the first attribute tag in the array.
  352. @field format A pointer to the first CSSM_DB_ATTRIBUTE_FORMAT in the array.
  353. @discussion Each tag and format item form a pair.
  354. }
  355. type
  356. SecKeychainAttributeInfoPtr = ^SecKeychainAttributeInfo;
  357. SecKeychainAttributeInfo = record
  358. count: UInt32;
  359. tag: UInt32Ptr;
  360. format: UInt32Ptr;
  361. end;
  362. {!
  363. @function SecCopyErrorMessageString
  364. @abstract Returns a string describing the specified error result code.
  365. @param status An error result code of type OSStatus or CSSM_RETURN, as returned by a Security or CSSM function.
  366. @reserved Reserved for future use. Your code should pass NULL in this parameter.
  367. @result A reference to an error string, or NULL if no error string is available for the specified result code. Your code must release this reference by calling the CFRelease function.
  368. }
  369. function SecCopyErrorMessageString( status: OSStatus; reserved: UnivPtr ): CFStringRef; external name '_SecCopyErrorMessageString';
  370. {!
  371. @enum Security Error Codes
  372. @abstract Result codes returned from Security framework functions.
  373. @constant errSecSuccess No error.
  374. @constant errSecUnimplemented Function or operation not implemented.
  375. @constant errSecDskFull Disk Full error.
  376. @constant errSecIO I/O error.
  377. @constant errSecParam One or more parameters passed to a function were not valid.
  378. @constant errSecWrPerm Write permissions error.
  379. @constant errSecAllocate Failed to allocate memory.
  380. @constant errSecUserCanceled User canceled the operation.
  381. @constant errSecBadReq Bad parameter or invalid state for operation.
  382. @constant errSecInternalComponent
  383. @constant errSecCoreFoundationUnknown
  384. @constant errSecNotAvailable No keychain is available.
  385. @constant errSecReadOnly Read only error.
  386. @constant errSecAuthFailed Authorization/Authentication failed.
  387. @constant errSecNoSuchKeychain The keychain does not exist.
  388. @constant errSecInvalidKeychain The keychain is not valid.
  389. @constant errSecDuplicateKeychain A keychain with the same name already exists.
  390. @constant errSecDuplicateCallback The specified callback is already installed.
  391. @constant errSecInvalidCallback The specified callback is not valid.
  392. @constant errSecDuplicateItem The item already exists.
  393. @constant errSecItemNotFound The item cannot be found.
  394. @constant errSecBufferTooSmall The buffer is too small.
  395. @constant errSecDataTooLarge The data is too large.
  396. @constant errSecNoSuchAttr The attribute does not exist.
  397. @constant errSecInvalidItemRef The item reference is invalid.
  398. @constant errSecInvalidSearchRef The search reference is invalid.
  399. @constant errSecNoSuchClass The keychain item class does not exist.
  400. @constant errSecNoDefaultKeychain A default keychain does not exist.
  401. @constant errSecInteractionNotAllowed User interaction is not allowed.
  402. @constant errSecReadOnlyAttr The attribute is read only.
  403. @constant errSecWrongSecVersion The version is incorrect.
  404. @constant errSecKeySizeNotAllowed The key size is not allowed.
  405. @constant errSecNoStorageModule There is no storage module available.
  406. @constant errSecNoCertificateModule There is no certificate module available.
  407. @constant errSecNoPolicyModule There is no policy module available.
  408. @constant errSecInteractionRequired User interaction is required.
  409. @constant errSecDataNotAvailable The data is not available.
  410. @constant errSecDataNotModifiable The data is not modifiable.
  411. @constant errSecCreateChainFailed The attempt to create a certificate chain failed.
  412. @constant errSecACLNotSimple The access control list is not in standard simple form.
  413. @constant errSecPolicyNotFound The policy specified cannot be found.
  414. @constant errSecInvalidTrustSetting The specified trust setting is invalid.
  415. @constant errSecNoAccessForItem The specified item has no access control.
  416. @constant errSecInvalidOwnerEdit Invalid attempt to change the owner of this item.
  417. @constant errSecTrustNotAvailable No trust results are available.
  418. @constant errSecUnsupportedFormat Import/Export format unsupported.
  419. @constant errSecUnknownFormat Unknown format in import.
  420. @constant errSecKeyIsSensitive Key material must be wrapped for export.
  421. @constant errSecMultiplePrivKeys An attempt was made to import multiple private keys.
  422. @constant errSecPassphraseRequired Passphrase is required for import/export.
  423. @constant errSecInvalidPasswordRef The password reference was invalid.
  424. @constant errSecInvalidTrustSettings The Trust Settings Record was corrupted.
  425. @constant errSecNoTrustSettings No Trust Settings were found.
  426. @constant errSecPkcs12VerifyFailure MAC verification failed during PKCS12 Import.
  427. @constant errSecDecode Unable to decode the provided data.
  428. @discussion The assigned error space is discontinuous: e.g. -25240..-25279, -25290..-25329, -68608..-67585, and so on.
  429. }
  430. {
  431. Note: the comments that appear after these errors are used to create SecErrorMessages.strings.
  432. The comments must not be multi-line, and should be in a form meaningful to an end user. If
  433. a different or additional comment is needed, it can be put in the header doc format, or on a
  434. line that does not start with errZZZ.
  435. }
  436. const
  437. errSecSuccess = 0; { No error. }
  438. errSecUnimplemented = -4; { Function or operation not implemented. }
  439. errSecDskFull = -34;
  440. errSecIO = -36; {I/O error (bummers)}
  441. errSecParam = -50; { One or more parameters passed to a function were not valid. }
  442. errSecWrPerm = -61; { write permissions error}
  443. errSecAllocate = -108; { Failed to allocate memory. }
  444. errSecUserCanceled = -128; { User canceled the operation. }
  445. errSecBadReq = -909; { Bad parameter or invalid state for operation. }
  446. errSecInternalComponent = -2070;
  447. errSecCoreFoundationUnknown = -4960;
  448. errSecNotAvailable = -25291; { No keychain is available. You may need to restart your computer. }
  449. errSecReadOnly = -25292; { This keychain cannot be modified. }
  450. errSecAuthFailed = -25293; { The user name or passphrase you entered is not correct. }
  451. errSecNoSuchKeychain = -25294; { The specified keychain could not be found. }
  452. errSecInvalidKeychain = -25295; { The specified keychain is not a valid keychain file. }
  453. errSecDuplicateKeychain = -25296; { A keychain with the same name already exists. }
  454. errSecDuplicateCallback = -25297; { The specified callback function is already installed. }
  455. errSecInvalidCallback = -25298; { The specified callback function is not valid. }
  456. errSecDuplicateItem = -25299; { The specified item already exists in the keychain. }
  457. errSecItemNotFound = -25300; { The specified item could not be found in the keychain. }
  458. errSecBufferTooSmall = -25301; { There is not enough memory available to use the specified item. }
  459. errSecDataTooLarge = -25302; { This item contains information which is too large or in a format that cannot be displayed. }
  460. errSecNoSuchAttr = -25303; { The specified attribute does not exist. }
  461. errSecInvalidItemRef = -25304; { The specified item is no longer valid. It may have been deleted from the keychain. }
  462. errSecInvalidSearchRef = -25305; { Unable to search the current keychain. }
  463. errSecNoSuchClass = -25306; { The specified item does not appear to be a valid keychain item. }
  464. errSecNoDefaultKeychain = -25307; { A default keychain could not be found. }
  465. errSecInteractionNotAllowed = -25308; { User interaction is not allowed. }
  466. errSecReadOnlyAttr = -25309; { The specified attribute could not be modified. }
  467. errSecWrongSecVersion = -25310; { This keychain was created by a different version of the system software and cannot be opened. }
  468. errSecKeySizeNotAllowed = -25311; { This item specifies a key size which is too large. }
  469. errSecNoStorageModule = -25312; { A required component (data storage module) could not be loaded. You may need to restart your computer. }
  470. errSecNoCertificateModule = -25313; { A required component (certificate module) could not be loaded. You may need to restart your computer. }
  471. errSecNoPolicyModule = -25314; { A required component (policy module) could not be loaded. You may need to restart your computer. }
  472. errSecInteractionRequired = -25315; { User interaction is required, but is currently not allowed. }
  473. errSecDataNotAvailable = -25316; { The contents of this item cannot be retrieved. }
  474. errSecDataNotModifiable = -25317; { The contents of this item cannot be modified. }
  475. errSecCreateChainFailed = -25318; { One or more certificates required to validate this certificate cannot be found. }
  476. errSecInvalidPrefsDomain = -25319; { The specified preferences domain is not valid. }
  477. errSecInDarkWake = -25320; { In dark wake, no UI possible }
  478. errSecACLNotSimple = -25240; { The specified access control list is not in standard (simple) form. }
  479. errSecPolicyNotFound = -25241; { The specified policy cannot be found. }
  480. errSecInvalidTrustSetting = -25242; { The specified trust setting is invalid. }
  481. errSecNoAccessForItem = -25243; { The specified item has no access control. }
  482. errSecInvalidOwnerEdit = -25244; { Invalid attempt to change the owner of this item. }
  483. errSecTrustNotAvailable = -25245; { No trust results are available. }
  484. errSecUnsupportedFormat = -25256; { Import/Export format unsupported. }
  485. errSecUnknownFormat = -25257; { Unknown format in import. }
  486. errSecKeyIsSensitive = -25258; { Key material must be wrapped for export. }
  487. errSecMultiplePrivKeys = -25259; { An attempt was made to import multiple private keys. }
  488. errSecPassphraseRequired = -25260; { Passphrase is required for import/export. }
  489. errSecInvalidPasswordRef = -25261; { The password reference was invalid. }
  490. errSecInvalidTrustSettings = -25262; { The Trust Settings Record was corrupted. }
  491. errSecNoTrustSettings = -25263; { No Trust Settings were found. }
  492. errSecPkcs12VerifyFailure = -25264; { MAC verification failed during PKCS12 import (wrong password?) }
  493. errSecNotSigner = -26267; { A certificate was not signed by its proposed parent. }
  494. errSecDecode = -26275; { Unable to decode the provided data. }
  495. errSecServiceNotAvailable = -67585; { The required service is not available. }
  496. errSecInsufficientClientID = -67586; { The client ID is not correct. }
  497. errSecDeviceReset = -67587; { A device reset has occurred. }
  498. errSecDeviceFailed = -67588; { A device failure has occurred. }
  499. errSecAppleAddAppACLSubject = -67589; { Adding an application ACL subject failed. }
  500. errSecApplePublicKeyIncomplete = -67590; { The public key is incomplete. }
  501. errSecAppleSignatureMismatch = -67591; { A signature mismatch has occurred. }
  502. errSecAppleInvalidKeyStartDate = -67592; { The specified key has an invalid start date. }
  503. errSecAppleInvalidKeyEndDate = -67593; { The specified key has an invalid end date. }
  504. errSecConversionError = -67594; { A conversion error has occurred. }
  505. errSecAppleSSLv2Rollback = -67595; { A SSLv2 rollback error has occurred. }
  506. errSecDiskFull = -34; { The disk is full. }
  507. errSecQuotaExceeded = -67596; { The quota was exceeded. }
  508. errSecFileTooBig = -67597; { The file is too big. }
  509. errSecInvalidDatabaseBlob = -67598; { The specified database has an invalid blob. }
  510. errSecInvalidKeyBlob = -67599; { The specified database has an invalid key blob. }
  511. errSecIncompatibleDatabaseBlob = -67600; { The specified database has an incompatible blob. }
  512. errSecIncompatibleKeyBlob = -67601; { The specified database has an incompatible key blob. }
  513. errSecHostNameMismatch = -67602; { A host name mismatch has occurred. }
  514. errSecUnknownCriticalExtensionFlag = -67603; { There is an unknown critical extension flag. }
  515. errSecNoBasicConstraints = -67604; { No basic constraints were found. }
  516. errSecNoBasicConstraintsCA = -67605; { No basic CA constraints were found. }
  517. errSecInvalidAuthorityKeyID = -67606; { The authority key ID is not valid. }
  518. errSecInvalidSubjectKeyID = -67607; { The subject key ID is not valid. }
  519. errSecInvalidKeyUsageForPolicy = -67608; { The key usage is not valid for the specified policy. }
  520. errSecInvalidExtendedKeyUsage = -67609; { The extended key usage is not valid. }
  521. errSecInvalidIDLinkage = -67610; { The ID linkage is not valid. }
  522. errSecPathLengthConstraintExceeded = -67611; { The path length constraint was exceeded. }
  523. errSecInvalidRoot = -67612; { The root or anchor certificate is not valid. }
  524. errSecCRLExpired = -67613; { The CRL has expired. }
  525. errSecCRLNotValidYet = -67614; { The CRL is not yet valid. }
  526. errSecCRLNotFound = -67615; { The CRL was not found. }
  527. errSecCRLServerDown = -67616; { The CRL server is down. }
  528. errSecCRLBadURI = -67617; { The CRL has a bad Uniform Resource Identifier. }
  529. errSecUnknownCertExtension = -67618; { An unknown certificate extension was encountered. }
  530. errSecUnknownCRLExtension = -67619; { An unknown CRL extension was encountered. }
  531. errSecCRLNotTrusted = -67620; { The CRL is not trusted. }
  532. errSecCRLPolicyFailed = -67621; { The CRL policy failed. }
  533. errSecIDPFailure = -67622; { The issuing distribution point was not valid. }
  534. errSecSMIMEEmailAddressesNotFound = -67623; { An email address mismatch was encountered. }
  535. errSecSMIMEBadExtendedKeyUsage = -67624; { The appropriate extended key usage for SMIME was not found. }
  536. errSecSMIMEBadKeyUsage = -67625; { The key usage is not compatible with SMIME. }
  537. errSecSMIMEKeyUsageNotCritical = -67626; { The key usage extension is not marked as critical. }
  538. errSecSMIMENoEmailAddress = -67627; { No email address was found in the certificate. }
  539. errSecSMIMESubjAltNameNotCritical = -67628; { The subject alternative name extension is not marked as critical. }
  540. errSecSSLBadExtendedKeyUsage = -67629; { The appropriate extended key usage for SSL was not found. }
  541. errSecOCSPBadResponse = -67630; { The OCSP response was incorrect or could not be parsed. }
  542. errSecOCSPBadRequest = -67631; { The OCSP request was incorrect or could not be parsed. }
  543. errSecOCSPUnavailable = -67632; { OCSP service is unavailable. }
  544. errSecOCSPStatusUnrecognized = -67633; { The OCSP server did not recognize this certificate. }
  545. errSecEndOfData = -67634; { An end-of-data was detected. }
  546. errSecIncompleteCertRevocationCheck = -67635; { An incomplete certificate revocation check occurred. }
  547. errSecNetworkFailure = -67636; { A network failure occurred. }
  548. errSecOCSPNotTrustedToAnchor = -67637; { The OCSP response was not trusted to a root or anchor certificate. }
  549. errSecRecordModified = -67638; { The record was modified. }
  550. errSecOCSPSignatureError = -67639; { The OCSP response had an invalid signature. }
  551. errSecOCSPNoSigner = -67640; { The OCSP response had no signer. }
  552. errSecOCSPResponderMalformedReq = -67641; { The OCSP responder was given a malformed request. }
  553. errSecOCSPResponderInternalError = -67642; { The OCSP responder encountered an internal error. }
  554. errSecOCSPResponderTryLater = -67643; { The OCSP responder is busy, try again later. }
  555. errSecOCSPResponderSignatureRequired = -67644; { The OCSP responder requires a signature. }
  556. errSecOCSPResponderUnauthorized = -67645; { The OCSP responder rejected this request as unauthorized. }
  557. errSecOCSPResponseNonceMismatch = -67646; { The OCSP response nonce did not match the request. }
  558. errSecCodeSigningBadCertChainLength = -67647; { Code signing encountered an incorrect certificate chain length. }
  559. errSecCodeSigningNoBasicConstraints = -67648; { Code signing found no basic constraints. }
  560. errSecCodeSigningBadPathLengthConstraint = -67649; { Code signing encountered an incorrect path length constraint. }
  561. errSecCodeSigningNoExtendedKeyUsage = -67650; { Code signing found no extended key usage. }
  562. errSecCodeSigningDevelopment = -67651; { Code signing indicated use of a development-only certificate. }
  563. errSecResourceSignBadCertChainLength = -67652; { Resource signing has encountered an incorrect certificate chain length. }
  564. errSecResourceSignBadExtKeyUsage = -67653; { Resource signing has encountered an error in the extended key usage. }
  565. errSecTrustSettingDeny = -67654; { The trust setting for this policy was set to Deny. }
  566. errSecInvalidSubjectName = -67655; { An invalid certificate subject name was encountered. }
  567. errSecUnknownQualifiedCertStatement = -67656; { An unknown qualified certificate statement was encountered. }
  568. errSecMobileMeRequestQueued = -67657; { The MobileMe request will be sent during the next connection. }
  569. errSecMobileMeRequestRedirected = -67658; { The MobileMe request was redirected. }
  570. errSecMobileMeServerError = -67659; { A MobileMe server error occurred. }
  571. errSecMobileMeServerNotAvailable = -67660; { The MobileMe server is not available. }
  572. errSecMobileMeServerAlreadyExists = -67661; { The MobileMe server reported that the item already exists. }
  573. errSecMobileMeServerServiceErr = -67662; { A MobileMe service error has occurred. }
  574. errSecMobileMeRequestAlreadyPending = -67663; { A MobileMe request is already pending. }
  575. errSecMobileMeNoRequestPending = -67664; { MobileMe has no request pending. }
  576. errSecMobileMeCSRVerifyFailure = -67665; { A MobileMe CSR verification failure has occurred. }
  577. errSecMobileMeFailedConsistencyCheck = -67666; { MobileMe has found a failed consistency check. }
  578. errSecNotInitialized = -67667; { A function was called without initializing CSSM. }
  579. errSecInvalidHandleUsage = -67668; { The CSSM handle does not match with the service type. }
  580. errSecPVCReferentNotFound = -67669; { A reference to the calling module was not found in the list of authorized callers. }
  581. errSecFunctionIntegrityFail = -67670; { A function address was not within the verified module. }
  582. errSecInternalError = -67671; { An internal error has occurred. }
  583. errSecMemoryError = -67672; { A memory error has occurred. }
  584. errSecInvalidData = -67673; { Invalid data was encountered. }
  585. errSecMDSError = -67674; { A Module Directory Service error has occurred. }
  586. errSecInvalidPointer = -67675; { An invalid pointer was encountered. }
  587. errSecSelfCheckFailed = -67676; { Self-check has failed. }
  588. errSecFunctionFailed = -67677; { A function has failed. }
  589. errSecModuleManifestVerifyFailed = -67678; { A module manifest verification failure has occurred. }
  590. errSecInvalidGUID = -67679; { An invalid GUID was encountered. }
  591. errSecInvalidHandle = -67680; { An invalid handle was encountered. }
  592. errSecInvalidDBList = -67681; { An invalid DB list was encountered. }
  593. errSecInvalidPassthroughID = -67682; { An invalid passthrough ID was encountered. }
  594. errSecInvalidNetworkAddress = -67683; { An invalid network address was encountered. }
  595. errSecCRLAlreadySigned = -67684; { The certificate revocation list is already signed. }
  596. errSecInvalidNumberOfFields = -67685; { An invalid number of fields were encountered. }
  597. errSecVerificationFailure = -67686; { A verification failure occurred. }
  598. errSecUnknownTag = -67687; { An unknown tag was encountered. }
  599. errSecInvalidSignature = -67688; { An invalid signature was encountered. }
  600. errSecInvalidName = -67689; { An invalid name was encountered. }
  601. errSecInvalidCertificateRef = -67690; { An invalid certificate reference was encountered. }
  602. errSecInvalidCertificateGroup = -67691; { An invalid certificate group was encountered. }
  603. errSecTagNotFound = -67692; { The specified tag was not found. }
  604. errSecInvalidQuery = -67693; { The specified query was not valid. }
  605. errSecInvalidValue = -67694; { An invalid value was detected. }
  606. errSecCallbackFailed = -67695; { A callback has failed. }
  607. errSecACLDeleteFailed = -67696; { An ACL delete operation has failed. }
  608. errSecACLReplaceFailed = -67697; { An ACL replace operation has failed. }
  609. errSecACLAddFailed = -67698; { An ACL add operation has failed. }
  610. errSecACLChangeFailed = -67699; { An ACL change operation has failed. }
  611. errSecInvalidAccessCredentials = -67700; { Invalid access credentials were encountered. }
  612. errSecInvalidRecord = -67701; { An invalid record was encountered. }
  613. errSecInvalidACL = -67702; { An invalid ACL was encountered. }
  614. errSecInvalidSampleValue = -67703; { An invalid sample value was encountered. }
  615. errSecIncompatibleVersion = -67704; { An incompatible version was encountered. }
  616. errSecPrivilegeNotGranted = -67705; { The privilege was not granted. }
  617. errSecInvalidScope = -67706; { An invalid scope was encountered. }
  618. errSecPVCAlreadyConfigured = -67707; { The PVC is already configured. }
  619. errSecInvalidPVC = -67708; { An invalid PVC was encountered. }
  620. errSecEMMLoadFailed = -67709; { The EMM load has failed. }
  621. errSecEMMUnloadFailed = -67710; { The EMM unload has failed. }
  622. errSecAddinLoadFailed = -67711; { The add-in load operation has failed. }
  623. errSecInvalidKeyRef = -67712; { An invalid key was encountered. }
  624. errSecInvalidKeyHierarchy = -67713; { An invalid key hierarchy was encountered. }
  625. errSecAddinUnloadFailed = -67714; { The add-in unload operation has failed. }
  626. errSecLibraryReferenceNotFound = -67715; { A library reference was not found. }
  627. errSecInvalidAddinFunctionTable = -67716; { An invalid add-in function table was encountered. }
  628. errSecInvalidServiceMask = -67717; { An invalid service mask was encountered. }
  629. errSecModuleNotLoaded = -67718; { A module was not loaded. }
  630. errSecInvalidSubServiceID = -67719; { An invalid subservice ID was encountered. }
  631. errSecAttributeNotInContext = -67720; { An attribute was not in the context. }
  632. errSecModuleManagerInitializeFailed = -67721; { A module failed to initialize. }
  633. errSecModuleManagerNotFound = -67722; { A module was not found. }
  634. errSecEventNotificationCallbackNotFound = -67723; { An event notification callback was not found. }
  635. errSecInputLengthError = -67724; { An input length error was encountered. }
  636. errSecOutputLengthError = -67725; { An output length error was encountered. }
  637. errSecPrivilegeNotSupported = -67726; { The privilege is not supported. }
  638. errSecDeviceError = -67727; { A device error was encountered. }
  639. errSecAttachHandleBusy = -67728; { The CSP handle was busy. }
  640. errSecNotLoggedIn = -67729; { You are not logged in. }
  641. errSecAlgorithmMismatch = -67730; { An algorithm mismatch was encountered. }
  642. errSecKeyUsageIncorrect = -67731; { The key usage is incorrect. }
  643. errSecKeyBlobTypeIncorrect = -67732; { The key blob type is incorrect. }
  644. errSecKeyHeaderInconsistent = -67733; { The key header is inconsistent. }
  645. errSecUnsupportedKeyFormat = -67734; { The key header format is not supported. }
  646. errSecUnsupportedKeySize = -67735; { The key size is not supported. }
  647. errSecInvalidKeyUsageMask = -67736; { The key usage mask is not valid. }
  648. errSecUnsupportedKeyUsageMask = -67737; { The key usage mask is not supported. }
  649. errSecInvalidKeyAttributeMask = -67738; { The key attribute mask is not valid. }
  650. errSecUnsupportedKeyAttributeMask = -67739; { The key attribute mask is not supported. }
  651. errSecInvalidKeyLabel = -67740; { The key label is not valid. }
  652. errSecUnsupportedKeyLabel = -67741; { The key label is not supported. }
  653. errSecInvalidKeyFormat = -67742; { The key format is not valid. }
  654. errSecUnsupportedVectorOfBuffers = -67743; { The vector of buffers is not supported. }
  655. errSecInvalidInputVector = -67744; { The input vector is not valid. }
  656. errSecInvalidOutputVector = -67745; { The output vector is not valid. }
  657. errSecInvalidContext = -67746; { An invalid context was encountered. }
  658. errSecInvalidAlgorithm = -67747; { An invalid algorithm was encountered. }
  659. errSecInvalidAttributeKey = -67748; { A key attribute was not valid. }
  660. errSecMissingAttributeKey = -67749; { A key attribute was missing. }
  661. errSecInvalidAttributeInitVector = -67750; { An init vector attribute was not valid. }
  662. errSecMissingAttributeInitVector = -67751; { An init vector attribute was missing. }
  663. errSecInvalidAttributeSalt = -67752; { A salt attribute was not valid. }
  664. errSecMissingAttributeSalt = -67753; { A salt attribute was missing. }
  665. errSecInvalidAttributePadding = -67754; { A padding attribute was not valid. }
  666. errSecMissingAttributePadding = -67755; { A padding attribute was missing. }
  667. errSecInvalidAttributeRandom = -67756; { A random number attribute was not valid. }
  668. errSecMissingAttributeRandom = -67757; { A random number attribute was missing. }
  669. errSecInvalidAttributeSeed = -67758; { A seed attribute was not valid. }
  670. errSecMissingAttributeSeed = -67759; { A seed attribute was missing. }
  671. errSecInvalidAttributePassphrase = -67760; { A passphrase attribute was not valid. }
  672. errSecMissingAttributePassphrase = -67761; { A passphrase attribute was missing. }
  673. errSecInvalidAttributeKeyLength = -67762; { A key length attribute was not valid. }
  674. errSecMissingAttributeKeyLength = -67763; { A key length attribute was missing. }
  675. errSecInvalidAttributeBlockSize = -67764; { A block size attribute was not valid. }
  676. errSecMissingAttributeBlockSize = -67765; { A block size attribute was missing. }
  677. errSecInvalidAttributeOutputSize = -67766; { An output size attribute was not valid. }
  678. errSecMissingAttributeOutputSize = -67767; { An output size attribute was missing. }
  679. errSecInvalidAttributeRounds = -67768; { The number of rounds attribute was not valid. }
  680. errSecMissingAttributeRounds = -67769; { The number of rounds attribute was missing. }
  681. errSecInvalidAlgorithmParms = -67770; { An algorithm parameters attribute was not valid. }
  682. errSecMissingAlgorithmParms = -67771; { An algorithm parameters attribute was missing. }
  683. errSecInvalidAttributeLabel = -67772; { A label attribute was not valid. }
  684. errSecMissingAttributeLabel = -67773; { A label attribute was missing. }
  685. errSecInvalidAttributeKeyType = -67774; { A key type attribute was not valid. }
  686. errSecMissingAttributeKeyType = -67775; { A key type attribute was missing. }
  687. errSecInvalidAttributeMode = -67776; { A mode attribute was not valid. }
  688. errSecMissingAttributeMode = -67777; { A mode attribute was missing. }
  689. errSecInvalidAttributeEffectiveBits = -67778; { An effective bits attribute was not valid. }
  690. errSecMissingAttributeEffectiveBits = -67779; { An effective bits attribute was missing. }
  691. errSecInvalidAttributeStartDate = -67780; { A start date attribute was not valid. }
  692. errSecMissingAttributeStartDate = -67781; { A start date attribute was missing. }
  693. errSecInvalidAttributeEndDate = -67782; { An end date attribute was not valid. }
  694. errSecMissingAttributeEndDate = -67783; { An end date attribute was missing. }
  695. errSecInvalidAttributeVersion = -67784; { A version attribute was not valid. }
  696. errSecMissingAttributeVersion = -67785; { A version attribute was missing. }
  697. errSecInvalidAttributePrime = -67786; { A prime attribute was not valid. }
  698. errSecMissingAttributePrime = -67787; { A prime attribute was missing. }
  699. errSecInvalidAttributeBase = -67788; { A base attribute was not valid. }
  700. errSecMissingAttributeBase = -67789; { A base attribute was missing. }
  701. errSecInvalidAttributeSubprime = -67790; { A subprime attribute was not valid. }
  702. errSecMissingAttributeSubprime = -67791; { A subprime attribute was missing. }
  703. errSecInvalidAttributeIterationCount = -67792; { An iteration count attribute was not valid. }
  704. errSecMissingAttributeIterationCount = -67793; { An iteration count attribute was missing. }
  705. errSecInvalidAttributeDLDBHandle = -67794; { A database handle attribute was not valid. }
  706. errSecMissingAttributeDLDBHandle = -67795; { A database handle attribute was missing. }
  707. errSecInvalidAttributeAccessCredentials = -67796; { An access credentials attribute was not valid. }
  708. errSecMissingAttributeAccessCredentials = -67797; { An access credentials attribute was missing. }
  709. errSecInvalidAttributePublicKeyFormat = -67798; { A public key format attribute was not valid. }
  710. errSecMissingAttributePublicKeyFormat = -67799; { A public key format attribute was missing. }
  711. errSecInvalidAttributePrivateKeyFormat = -67800; { A private key format attribute was not valid. }
  712. errSecMissingAttributePrivateKeyFormat = -67801; { A private key format attribute was missing. }
  713. errSecInvalidAttributeSymmetricKeyFormat = -67802; { A symmetric key format attribute was not valid. }
  714. errSecMissingAttributeSymmetricKeyFormat = -67803; { A symmetric key format attribute was missing. }
  715. errSecInvalidAttributeWrappedKeyFormat = -67804; { A wrapped key format attribute was not valid. }
  716. errSecMissingAttributeWrappedKeyFormat = -67805; { A wrapped key format attribute was missing. }
  717. errSecStagedOperationInProgress = -67806; { A staged operation is in progress. }
  718. errSecStagedOperationNotStarted = -67807; { A staged operation was not started. }
  719. errSecVerifyFailed = -67808; { A cryptographic verification failure has occurred. }
  720. errSecQuerySizeUnknown = -67809; { The query size is unknown. }
  721. errSecBlockSizeMismatch = -67810; { A block size mismatch occurred. }
  722. errSecPublicKeyInconsistent = -67811; { The public key was inconsistent. }
  723. errSecDeviceVerifyFailed = -67812; { A device verification failure has occurred. }
  724. errSecInvalidLoginName = -67813; { An invalid login name was detected. }
  725. errSecAlreadyLoggedIn = -67814; { The user is already logged in. }
  726. errSecInvalidDigestAlgorithm = -67815; { An invalid digest algorithm was detected. }
  727. errSecInvalidCRLGroup = -67816; { An invalid CRL group was detected. }
  728. errSecCertificateCannotOperate = -67817; { The certificate cannot operate. }
  729. errSecCertificateExpired = -67818; { An expired certificate was detected. }
  730. errSecCertificateNotValidYet = -67819; { The certificate is not yet valid. }
  731. errSecCertificateRevoked = -67820; { The certificate was revoked. }
  732. errSecCertificateSuspended = -67821; { The certificate was suspended. }
  733. errSecInsufficientCredentials = -67822; { Insufficient credentials were detected. }
  734. errSecInvalidAction = -67823; { The action was not valid. }
  735. errSecInvalidAuthority = -67824; { The authority was not valid. }
  736. errSecVerifyActionFailed = -67825; { A verify action has failed. }
  737. errSecInvalidCertAuthority = -67826; { The certificate authority was not valid. }
  738. errSecInvaldCRLAuthority = -67827; { The CRL authority was not valid. }
  739. errSecInvalidCRLEncoding = -67828; { The CRL encoding was not valid. }
  740. errSecInvalidCRLType = -67829; { The CRL type was not valid. }
  741. errSecInvalidCRL = -67830; { The CRL was not valid. }
  742. errSecInvalidFormType = -67831; { The form type was not valid. }
  743. errSecInvalidID = -67832; { The ID was not valid. }
  744. errSecInvalidIdentifier = -67833; { The identifier was not valid. }
  745. errSecInvalidIndex = -67834; { The index was not valid. }
  746. errSecInvalidPolicyIdentifiers = -67835; { The policy identifiers are not valid. }
  747. errSecInvalidTimeString = -67836; { The time specified was not valid. }
  748. errSecInvalidReason = -67837; { The trust policy reason was not valid. }
  749. errSecInvalidRequestInputs = -67838; { The request inputs are not valid. }
  750. errSecInvalidResponseVector = -67839; { The response vector was not valid. }
  751. errSecInvalidStopOnPolicy = -67840; { The stop-on policy was not valid. }
  752. errSecInvalidTuple = -67841; { The tuple was not valid. }
  753. errSecMultipleValuesUnsupported = -67842; { Multiple values are not supported. }
  754. errSecNotTrusted = -67843; { The trust policy was not trusted. }
  755. errSecNoDefaultAuthority = -67844; { No default authority was detected. }
  756. errSecRejectedForm = -67845; { The trust policy had a rejected form. }
  757. errSecRequestLost = -67846; { The request was lost. }
  758. errSecRequestRejected = -67847; { The request was rejected. }
  759. errSecUnsupportedAddressType = -67848; { The address type is not supported. }
  760. errSecUnsupportedService = -67849; { The service is not supported. }
  761. errSecInvalidTupleGroup = -67850; { The tuple group was not valid. }
  762. errSecInvalidBaseACLs = -67851; { The base ACLs are not valid. }
  763. errSecInvalidTupleCredendtials = -67852; { The tuple credentials are not valid. }
  764. errSecInvalidEncoding = -67853; { The encoding was not valid. }
  765. errSecInvalidValidityPeriod = -67854; { The validity period was not valid. }
  766. errSecInvalidRequestor = -67855; { The requestor was not valid. }
  767. errSecRequestDescriptor = -67856; { The request descriptor was not valid. }
  768. errSecInvalidBundleInfo = -67857; { The bundle information was not valid. }
  769. errSecInvalidCRLIndex = -67858; { The CRL index was not valid. }
  770. errSecNoFieldValues = -67859; { No field values were detected. }
  771. errSecUnsupportedFieldFormat = -67860; { The field format is not supported. }
  772. errSecUnsupportedIndexInfo = -67861; { The index information is not supported. }
  773. errSecUnsupportedLocality = -67862; { The locality is not supported. }
  774. errSecUnsupportedNumAttributes = -67863; { The number of attributes is not supported. }
  775. errSecUnsupportedNumIndexes = -67864; { The number of indexes is not supported. }
  776. errSecUnsupportedNumRecordTypes = -67865; { The number of record types is not supported. }
  777. errSecFieldSpecifiedMultiple = -67866; { Too many fields were specified. }
  778. errSecIncompatibleFieldFormat = -67867; { The field format was incompatible. }
  779. errSecInvalidParsingModule = -67868; { The parsing module was not valid. }
  780. errSecDatabaseLocked = -67869; { The database is locked. }
  781. errSecDatastoreIsOpen = -67870; { The data store is open. }
  782. errSecMissingValue = -67871; { A missing value was detected. }
  783. errSecUnsupportedQueryLimits = -67872; { The query limits are not supported. }
  784. errSecUnsupportedNumSelectionPreds = -67873; { The number of selection predicates is not supported. }
  785. errSecUnsupportedOperator = -67874; { The operator is not supported. }
  786. errSecInvalidDBLocation = -67875; { The database location is not valid. }
  787. errSecInvalidAccessRequest = -67876; { The access request is not valid. }
  788. errSecInvalidIndexInfo = -67877; { The index information is not valid. }
  789. errSecInvalidNewOwner = -67878; { The new owner is not valid. }
  790. errSecInvalidModifyMode = -67879; { The modify mode is not valid. }
  791. errSecMissingRequiredExtension = -67880; { A required certificate extension is missing. }
  792. errSecExtendedKeyUsageNotCritical = -67881; { The extended key usage extension was not marked critical. }
  793. errSecTimestampMissing = -67882; { A timestamp was expected but was not found. }
  794. errSecTimestampInvalid = -67883; { The timestamp was not valid. }
  795. errSecTimestampNotTrusted = -67884; { The timestamp was not trusted. }
  796. errSecTimestampServiceNotAvailable = -67885; { The timestamp service is not available. }
  797. errSecTimestampBadAlg = -67886; { An unrecognized or unsupported Algorithm Identifier in timestamp. }
  798. errSecTimestampBadRequest = -67887; { The timestamp transaction is not permitted or supported. }
  799. errSecTimestampBadDataFormat = -67888; { The timestamp data submitted has the wrong format. }
  800. errSecTimestampTimeNotAvailable = -67889; { The time source for the Timestamp Authority is not available. }
  801. errSecTimestampUnacceptedPolicy = -67890; { The requested policy is not supported by the Timestamp Authority. }
  802. errSecTimestampUnacceptedExtension = -67891; { The requested extension is not supported by the Timestamp Authority. }
  803. errSecTimestampAddInfoNotAvailable = -67892; { The additional information requested is not available. }
  804. errSecTimestampSystemFailure = -67893; { The timestamp request cannot be handled due to system failure . }
  805. errSecSigningTimeMissing = -67894; { A signing time was expected but was not found. }
  806. errSecTimestampRejection = -67895; { A timestamp transaction was rejected. }
  807. errSecTimestampWaiting = -67896; { A timestamp transaction is waiting. }
  808. errSecTimestampRevocationWarning = -67897; { A timestamp authority revocation warning was issued. }
  809. errSecTimestampRevocationNotification = -67898; { A timestamp authority revocation notification was issued. }
  810. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  811. end.
  812. {$endc} {not MACOSALLINCLUDE}