2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
22 Contains: Application Programmers Interfaces for CSSM
24 Copyright: (c) 1999-2000 Apple Computer, Inc., all rights reserved.
30 #include <Security/cssmtype.h>
39 CSSM_Init (const CSSM_VERSION
*Version
,
40 CSSM_PRIVILEGE_SCOPE Scope
,
41 const CSSM_GUID
*CallerGuid
,
42 CSSM_KEY_HIERARCHY KeyHierarchy
,
43 CSSM_PVC_MODE
*PvcPolicy
,
44 const void *Reserved
);
47 CSSM_Terminate (void);
50 CSSM_ModuleLoad (const CSSM_GUID
*ModuleGuid
,
51 CSSM_KEY_HIERARCHY KeyHierarchy
,
52 CSSM_API_ModuleEventHandler AppNotifyCallback
,
53 void *AppNotifyCallbackCtx
);
56 CSSM_ModuleUnload (const CSSM_GUID
*ModuleGuid
,
57 CSSM_API_ModuleEventHandler AppNotifyCallback
,
58 void *AppNotifyCallbackCtx
);
61 CSSM_Introduce (const CSSM_GUID
*ModuleID
,
62 CSSM_KEY_HIERARCHY KeyHierarchy
);
65 CSSM_Unintroduce (const CSSM_GUID
*ModuleID
);
68 CSSM_ModuleAttach (const CSSM_GUID
*ModuleGuid
,
69 const CSSM_VERSION
*Version
,
70 const CSSM_API_MEMORY_FUNCS
*MemoryFuncs
,
72 CSSM_SERVICE_TYPE SubServiceType
,
73 CSSM_ATTACH_FLAGS AttachFlags
,
74 CSSM_KEY_HIERARCHY KeyHierarchy
,
75 CSSM_FUNC_NAME_ADDR
*FunctionTable
,
76 uint32 NumFunctionTable
,
78 CSSM_MODULE_HANDLE_PTR NewModuleHandle
);
81 CSSM_ModuleDetach (CSSM_MODULE_HANDLE ModuleHandle
);
84 CSSM_SetPrivilege (CSSM_PRIVILEGE Privilege
);
87 CSSM_GetPrivilege (CSSM_PRIVILEGE
*Privilege
);
90 CSSM_GetModuleGUIDFromHandle (CSSM_MODULE_HANDLE ModuleHandle
,
91 CSSM_GUID_PTR ModuleGUID
);
94 CSSM_GetSubserviceUIDFromHandle (CSSM_MODULE_HANDLE ModuleHandle
,
95 CSSM_SUBSERVICE_UID_PTR SubserviceUID
);
98 CSSM_ListAttachedModuleManagers (uint32
*NumberOfModuleManagers
,
99 CSSM_GUID_PTR ModuleManagerGuids
);
102 CSSM_GetAPIMemoryFunctions (CSSM_MODULE_HANDLE AddInHandle
,
103 CSSM_API_MEMORY_FUNCS_PTR AppMemoryFuncs
);
106 /* Cryptographic Context Operations */
109 CSSM_CSP_CreateSignatureContext (CSSM_CSP_HANDLE CSPHandle
,
110 CSSM_ALGORITHMS AlgorithmID
,
111 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
113 CSSM_CC_HANDLE
*NewContextHandle
);
116 CSSM_CSP_CreateSymmetricContext (CSSM_CSP_HANDLE CSPHandle
,
117 CSSM_ALGORITHMS AlgorithmID
,
118 CSSM_ENCRYPT_MODE Mode
,
119 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
121 const CSSM_DATA
*InitVector
,
122 CSSM_PADDING Padding
,
124 CSSM_CC_HANDLE
*NewContextHandle
);
127 CSSM_CSP_CreateDigestContext (CSSM_CSP_HANDLE CSPHandle
,
128 CSSM_ALGORITHMS AlgorithmID
,
129 CSSM_CC_HANDLE
*NewContextHandle
);
132 CSSM_CSP_CreateMacContext (CSSM_CSP_HANDLE CSPHandle
,
133 CSSM_ALGORITHMS AlgorithmID
,
135 CSSM_CC_HANDLE
*NewContextHandle
);
138 CSSM_CSP_CreateRandomGenContext (CSSM_CSP_HANDLE CSPHandle
,
139 CSSM_ALGORITHMS AlgorithmID
,
140 const CSSM_CRYPTO_DATA
*Seed
,
142 CSSM_CC_HANDLE
*NewContextHandle
);
145 CSSM_CSP_CreateAsymmetricContext (CSSM_CSP_HANDLE CSPHandle
,
146 CSSM_ALGORITHMS AlgorithmID
,
147 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
149 CSSM_PADDING Padding
,
150 CSSM_CC_HANDLE
*NewContextHandle
);
153 CSSM_CSP_CreateDeriveKeyContext (CSSM_CSP_HANDLE CSPHandle
,
154 CSSM_ALGORITHMS AlgorithmID
,
155 CSSM_KEY_TYPE DeriveKeyType
,
156 uint32 DeriveKeyLengthInBits
,
157 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
158 const CSSM_KEY
*BaseKey
,
159 uint32 IterationCount
,
160 const CSSM_DATA
*Salt
,
161 const CSSM_CRYPTO_DATA
*Seed
,
162 CSSM_CC_HANDLE
*NewContextHandle
);
165 CSSM_CSP_CreateKeyGenContext (CSSM_CSP_HANDLE CSPHandle
,
166 CSSM_ALGORITHMS AlgorithmID
,
167 uint32 KeySizeInBits
,
168 const CSSM_CRYPTO_DATA
*Seed
,
169 const CSSM_DATA
*Salt
,
170 const CSSM_DATE
*StartDate
,
171 const CSSM_DATE
*EndDate
,
172 const CSSM_DATA
*Params
,
173 CSSM_CC_HANDLE
*NewContextHandle
);
176 CSSM_CSP_CreatePassThroughContext (CSSM_CSP_HANDLE CSPHandle
,
178 CSSM_CC_HANDLE
*NewContextHandle
);
181 CSSM_GetContext (CSSM_CC_HANDLE CCHandle
,
182 CSSM_CONTEXT_PTR
*Context
);
185 CSSM_FreeContext (CSSM_CONTEXT_PTR Context
);
188 CSSM_SetContext (CSSM_CC_HANDLE CCHandle
,
189 const CSSM_CONTEXT
*Context
);
192 CSSM_DeleteContext (CSSM_CC_HANDLE CCHandle
);
195 CSSM_GetContextAttribute (const CSSM_CONTEXT
*Context
,
196 uint32 AttributeType
,
197 CSSM_CONTEXT_ATTRIBUTE_PTR
*ContextAttribute
);
200 CSSM_UpdateContextAttributes (CSSM_CC_HANDLE CCHandle
,
201 uint32 NumberOfAttributes
,
202 const CSSM_CONTEXT_ATTRIBUTE
*ContextAttributes
);
205 CSSM_DeleteContextAttributes (CSSM_CC_HANDLE CCHandle
,
206 uint32 NumberOfAttributes
,
207 const CSSM_CONTEXT_ATTRIBUTE
*ContextAttributes
);
210 /* Cryptographic Sessions and Controlled Access to Keys */
213 CSSM_CSP_Login (CSSM_CSP_HANDLE CSPHandle
,
214 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
215 const CSSM_DATA
*LoginName
,
216 const void *Reserved
);
219 CSSM_CSP_Logout (CSSM_CSP_HANDLE CSPHandle
);
222 CSSM_CSP_GetLoginAcl (CSSM_CSP_HANDLE CSPHandle
,
223 const CSSM_STRING
*SelectionTag
,
224 uint32
*NumberOfAclInfos
,
225 CSSM_ACL_ENTRY_INFO_PTR
*AclInfos
);
228 CSSM_CSP_ChangeLoginAcl (CSSM_CSP_HANDLE CSPHandle
,
229 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
230 const CSSM_ACL_EDIT
*AclEdit
);
233 CSSM_GetKeyAcl (CSSM_CSP_HANDLE CSPHandle
,
235 const CSSM_STRING
*SelectionTag
,
236 uint32
*NumberOfAclInfos
,
237 CSSM_ACL_ENTRY_INFO_PTR
*AclInfos
);
240 CSSM_ChangeKeyAcl (CSSM_CSP_HANDLE CSPHandle
,
241 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
242 const CSSM_ACL_EDIT
*AclEdit
,
243 const CSSM_KEY
*Key
);
246 CSSM_GetKeyOwner (CSSM_CSP_HANDLE CSPHandle
,
248 CSSM_ACL_OWNER_PROTOTYPE_PTR Owner
);
251 CSSM_ChangeKeyOwner (CSSM_CSP_HANDLE CSPHandle
,
252 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
254 const CSSM_ACL_OWNER_PROTOTYPE
*NewOwner
);
257 CSSM_CSP_GetLoginOwner (CSSM_CSP_HANDLE CSPHandle
,
258 CSSM_ACL_OWNER_PROTOTYPE_PTR Owner
);
261 CSSM_CSP_ChangeLoginOwner (CSSM_CSP_HANDLE CSPHandle
,
262 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
263 const CSSM_ACL_OWNER_PROTOTYPE
*NewOwner
);
266 CSSM_SignData (CSSM_CC_HANDLE CCHandle
,
267 const CSSM_DATA
*DataBufs
,
269 CSSM_ALGORITHMS DigestAlgorithm
,
270 CSSM_DATA_PTR Signature
);
273 CSSM_SignDataInit (CSSM_CC_HANDLE CCHandle
);
276 CSSM_SignDataUpdate (CSSM_CC_HANDLE CCHandle
,
277 const CSSM_DATA
*DataBufs
,
278 uint32 DataBufCount
);
281 CSSM_SignDataFinal (CSSM_CC_HANDLE CCHandle
,
282 CSSM_DATA_PTR Signature
);
285 CSSM_VerifyData (CSSM_CC_HANDLE CCHandle
,
286 const CSSM_DATA
*DataBufs
,
288 CSSM_ALGORITHMS DigestAlgorithm
,
289 const CSSM_DATA
*Signature
);
292 CSSM_VerifyDataInit (CSSM_CC_HANDLE CCHandle
);
295 CSSM_VerifyDataUpdate (CSSM_CC_HANDLE CCHandle
,
296 const CSSM_DATA
*DataBufs
,
297 uint32 DataBufCount
);
300 CSSM_VerifyDataFinal (CSSM_CC_HANDLE CCHandle
,
301 const CSSM_DATA
*Signature
);
304 CSSM_DigestData (CSSM_CC_HANDLE CCHandle
,
305 const CSSM_DATA
*DataBufs
,
307 CSSM_DATA_PTR Digest
);
310 CSSM_DigestDataInit (CSSM_CC_HANDLE CCHandle
);
313 CSSM_DigestDataUpdate (CSSM_CC_HANDLE CCHandle
,
314 const CSSM_DATA
*DataBufs
,
315 uint32 DataBufCount
);
318 CSSM_DigestDataClone (CSSM_CC_HANDLE CCHandle
,
319 CSSM_CC_HANDLE
*ClonednewCCHandle
);
322 CSSM_DigestDataFinal (CSSM_CC_HANDLE CCHandle
,
323 CSSM_DATA_PTR Digest
);
326 CSSM_GenerateMac (CSSM_CC_HANDLE CCHandle
,
327 const CSSM_DATA
*DataBufs
,
332 CSSM_GenerateMacInit (CSSM_CC_HANDLE CCHandle
);
335 CSSM_GenerateMacUpdate (CSSM_CC_HANDLE CCHandle
,
336 const CSSM_DATA
*DataBufs
,
337 uint32 DataBufCount
);
340 CSSM_GenerateMacFinal (CSSM_CC_HANDLE CCHandle
,
344 CSSM_VerifyMac (CSSM_CC_HANDLE CCHandle
,
345 const CSSM_DATA
*DataBufs
,
347 const CSSM_DATA
*Mac
);
350 CSSM_VerifyMacInit (CSSM_CC_HANDLE CCHandle
);
353 CSSM_VerifyMacUpdate (CSSM_CC_HANDLE CCHandle
,
354 const CSSM_DATA
*DataBufs
,
355 uint32 DataBufCount
);
358 CSSM_VerifyMacFinal (CSSM_CC_HANDLE CCHandle
,
359 const CSSM_DATA
*Mac
);
362 CSSM_QuerySize (CSSM_CC_HANDLE CCHandle
,
364 uint32 QuerySizeCount
,
365 CSSM_QUERY_SIZE_DATA_PTR DataBlockSizes
);
368 CSSM_EncryptData (CSSM_CC_HANDLE CCHandle
,
369 const CSSM_DATA
*ClearBufs
,
370 uint32 ClearBufCount
,
371 CSSM_DATA_PTR CipherBufs
,
372 uint32 CipherBufCount
,
373 uint32
*bytesEncrypted
,
374 CSSM_DATA_PTR RemData
);
377 CSSM_EncryptDataP (CSSM_CC_HANDLE CCHandle
,
378 const CSSM_DATA
*ClearBufs
,
379 uint32 ClearBufCount
,
380 CSSM_DATA_PTR CipherBufs
,
381 uint32 CipherBufCount
,
382 uint32
*bytesEncrypted
,
383 CSSM_DATA_PTR RemData
,
384 CSSM_PRIVILEGE Privilege
);
387 CSSM_EncryptDataInit (CSSM_CC_HANDLE CCHandle
);
390 CSSM_EncryptDataInitP (CSSM_CC_HANDLE CCHandle
,
391 CSSM_PRIVILEGE Privilege
);
394 CSSM_EncryptDataUpdate (CSSM_CC_HANDLE CCHandle
,
395 const CSSM_DATA
*ClearBufs
,
396 uint32 ClearBufCount
,
397 CSSM_DATA_PTR CipherBufs
,
398 uint32 CipherBufCount
,
399 uint32
*bytesEncrypted
);
402 CSSM_EncryptDataFinal (CSSM_CC_HANDLE CCHandle
,
403 CSSM_DATA_PTR RemData
);
406 CSSM_DecryptData (CSSM_CC_HANDLE CCHandle
,
407 const CSSM_DATA
*CipherBufs
,
408 uint32 CipherBufCount
,
409 CSSM_DATA_PTR ClearBufs
,
410 uint32 ClearBufCount
,
411 uint32
*bytesDecrypted
,
412 CSSM_DATA_PTR RemData
);
415 CSSM_DecryptDataP (CSSM_CC_HANDLE CCHandle
,
416 const CSSM_DATA
*CipherBufs
,
417 uint32 CipherBufCount
,
418 CSSM_DATA_PTR ClearBufs
,
419 uint32 ClearBufCount
,
420 uint32
*bytesDecrypted
,
421 CSSM_DATA_PTR RemData
,
422 CSSM_PRIVILEGE Privilege
);
425 CSSM_DecryptDataInit (CSSM_CC_HANDLE CCHandle
);
428 CSSM_DecryptDataInitP (CSSM_CC_HANDLE CCHandle
,
429 CSSM_PRIVILEGE Privilege
);
432 CSSM_DecryptDataUpdate (CSSM_CC_HANDLE CCHandle
,
433 const CSSM_DATA
*CipherBufs
,
434 uint32 CipherBufCount
,
435 CSSM_DATA_PTR ClearBufs
,
436 uint32 ClearBufCount
,
437 uint32
*bytesDecrypted
);
440 CSSM_DecryptDataFinal (CSSM_CC_HANDLE CCHandle
,
441 CSSM_DATA_PTR RemData
);
444 CSSM_QueryKeySizeInBits (CSSM_CSP_HANDLE CSPHandle
,
445 CSSM_CC_HANDLE CCHandle
,
447 CSSM_KEY_SIZE_PTR KeySize
);
450 CSSM_GenerateKey (CSSM_CC_HANDLE CCHandle
,
453 const CSSM_DATA
*KeyLabel
,
454 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
458 CSSM_GenerateKeyP (CSSM_CC_HANDLE CCHandle
,
461 const CSSM_DATA
*KeyLabel
,
462 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
464 CSSM_PRIVILEGE Privilege
);
467 CSSM_GenerateKeyPair (CSSM_CC_HANDLE CCHandle
,
468 uint32 PublicKeyUsage
,
469 uint32 PublicKeyAttr
,
470 const CSSM_DATA
*PublicKeyLabel
,
471 CSSM_KEY_PTR PublicKey
,
472 uint32 PrivateKeyUsage
,
473 uint32 PrivateKeyAttr
,
474 const CSSM_DATA
*PrivateKeyLabel
,
475 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
476 CSSM_KEY_PTR PrivateKey
);
479 CSSM_GenerateKeyPairP (CSSM_CC_HANDLE CCHandle
,
480 uint32 PublicKeyUsage
,
481 uint32 PublicKeyAttr
,
482 const CSSM_DATA
*PublicKeyLabel
,
483 CSSM_KEY_PTR PublicKey
,
484 uint32 PrivateKeyUsage
,
485 uint32 PrivateKeyAttr
,
486 const CSSM_DATA
*PrivateKeyLabel
,
487 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
488 CSSM_KEY_PTR PrivateKey
,
489 CSSM_PRIVILEGE Privilege
);
492 CSSM_GenerateRandom (CSSM_CC_HANDLE CCHandle
,
493 CSSM_DATA_PTR RandomNumber
);
496 CSSM_CSP_ObtainPrivateKeyFromPublicKey (CSSM_CSP_HANDLE CSPHandle
,
497 const CSSM_KEY
*PublicKey
,
498 CSSM_KEY_PTR PrivateKey
);
501 CSSM_WrapKey (CSSM_CC_HANDLE CCHandle
,
502 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
504 const CSSM_DATA
*DescriptiveData
,
505 CSSM_WRAP_KEY_PTR WrappedKey
);
508 CSSM_UnwrapKey (CSSM_CC_HANDLE CCHandle
,
509 const CSSM_KEY
*PublicKey
,
510 const CSSM_WRAP_KEY
*WrappedKey
,
513 const CSSM_DATA
*KeyLabel
,
514 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
515 CSSM_KEY_PTR UnwrappedKey
,
516 CSSM_DATA_PTR DescriptiveData
);
519 CSSM_WrapKeyP (CSSM_CC_HANDLE CCHandle
,
520 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
522 const CSSM_DATA
*DescriptiveData
,
523 CSSM_WRAP_KEY_PTR WrappedKey
,
524 CSSM_PRIVILEGE Privilege
);
527 CSSM_UnwrapKeyP (CSSM_CC_HANDLE CCHandle
,
528 const CSSM_KEY
*PublicKey
,
529 const CSSM_WRAP_KEY
*WrappedKey
,
532 const CSSM_DATA
*KeyLabel
,
533 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
534 CSSM_KEY_PTR UnwrappedKey
,
535 CSSM_DATA_PTR DescriptiveData
,
536 CSSM_PRIVILEGE Privilege
);
539 CSSM_DeriveKey (CSSM_CC_HANDLE CCHandle
,
543 const CSSM_DATA
*KeyLabel
,
544 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
545 CSSM_KEY_PTR DerivedKey
);
548 CSSM_FreeKey (CSSM_CSP_HANDLE CSPHandle
,
549 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
554 CSSM_GenerateAlgorithmParams (CSSM_CC_HANDLE CCHandle
,
556 CSSM_DATA_PTR Param
);
559 /* Miscellaneous Functions for Cryptographic Services */
562 CSSM_CSP_GetOperationalStatistics (CSSM_CSP_HANDLE CSPHandle
,
563 CSSM_CSP_OPERATIONAL_STATISTICS
*Statistics
);
566 CSSM_GetTimeValue (CSSM_CSP_HANDLE CSPHandle
,
567 CSSM_ALGORITHMS TimeAlgorithm
,
568 CSSM_DATA
*TimeData
);
571 CSSM_RetrieveUniqueId (CSSM_CSP_HANDLE CSPHandle
,
572 CSSM_DATA_PTR UniqueID
);
575 CSSM_RetrieveCounter (CSSM_CSP_HANDLE CSPHandle
,
576 CSSM_DATA_PTR Counter
);
579 CSSM_VerifyDevice (CSSM_CSP_HANDLE CSPHandle
,
580 const CSSM_DATA
*DeviceCert
);
583 /* Extensibility Functions for Cryptographic Services */
586 CSSM_CSP_PassThrough (CSSM_CC_HANDLE CCHandle
,
587 uint32 PassThroughId
,
592 /* Trust Policy Operations */
595 CSSM_TP_SubmitCredRequest (CSSM_TP_HANDLE TPHandle
,
596 const CSSM_TP_AUTHORITY_ID
*PreferredAuthority
,
597 CSSM_TP_AUTHORITY_REQUEST_TYPE RequestType
,
598 const CSSM_TP_REQUEST_SET
*RequestInput
,
599 const CSSM_TP_CALLERAUTH_CONTEXT
*CallerAuthContext
,
600 sint32
*EstimatedTime
,
601 CSSM_DATA_PTR ReferenceIdentifier
);
604 CSSM_TP_RetrieveCredResult (CSSM_TP_HANDLE TPHandle
,
605 const CSSM_DATA
*ReferenceIdentifier
,
606 const CSSM_TP_CALLERAUTH_CONTEXT
*CallerAuthCredentials
,
607 sint32
*EstimatedTime
,
608 CSSM_BOOL
*ConfirmationRequired
,
609 CSSM_TP_RESULT_SET_PTR
*RetrieveOutput
);
612 CSSM_TP_ConfirmCredResult (CSSM_TP_HANDLE TPHandle
,
613 const CSSM_DATA
*ReferenceIdentifier
,
614 const CSSM_TP_CALLERAUTH_CONTEXT
*CallerAuthCredentials
,
615 const CSSM_TP_CONFIRM_RESPONSE
*Responses
,
616 const CSSM_TP_AUTHORITY_ID
*PreferredAuthority
);
619 CSSM_TP_ReceiveConfirmation (CSSM_TP_HANDLE TPHandle
,
620 const CSSM_DATA
*ReferenceIdentifier
,
621 CSSM_TP_CONFIRM_RESPONSE_PTR
*Responses
,
622 sint32
*ElapsedTime
);
625 CSSM_TP_CertReclaimKey (CSSM_TP_HANDLE TPHandle
,
626 const CSSM_CERTGROUP
*CertGroup
,
628 CSSM_LONG_HANDLE KeyCacheHandle
,
629 CSSM_CSP_HANDLE CSPHandle
,
630 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
);
633 CSSM_TP_CertReclaimAbort (CSSM_TP_HANDLE TPHandle
,
634 CSSM_LONG_HANDLE KeyCacheHandle
);
637 CSSM_TP_FormRequest (CSSM_TP_HANDLE TPHandle
,
638 const CSSM_TP_AUTHORITY_ID
*PreferredAuthority
,
639 CSSM_TP_FORM_TYPE FormType
,
640 CSSM_DATA_PTR BlankForm
);
643 CSSM_TP_FormSubmit (CSSM_TP_HANDLE TPHandle
,
644 CSSM_TP_FORM_TYPE FormType
,
645 const CSSM_DATA
*Form
,
646 const CSSM_TP_AUTHORITY_ID
*ClearanceAuthority
,
647 const CSSM_TP_AUTHORITY_ID
*RepresentedAuthority
,
648 CSSM_ACCESS_CREDENTIALS_PTR Credentials
);
651 CSSM_TP_CertGroupVerify (CSSM_TP_HANDLE TPHandle
,
652 CSSM_CL_HANDLE CLHandle
,
653 CSSM_CSP_HANDLE CSPHandle
,
654 const CSSM_CERTGROUP
*CertGroupToBeVerified
,
655 const CSSM_TP_VERIFY_CONTEXT
*VerifyContext
,
656 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR VerifyContextResult
);
659 CSSM_TP_CertCreateTemplate (CSSM_TP_HANDLE TPHandle
,
660 CSSM_CL_HANDLE CLHandle
,
661 uint32 NumberOfFields
,
662 const CSSM_FIELD
*CertFields
,
663 CSSM_DATA_PTR CertTemplate
);
666 CSSM_TP_CertGetAllTemplateFields (CSSM_TP_HANDLE TPHandle
,
667 CSSM_CL_HANDLE CLHandle
,
668 const CSSM_DATA
*CertTemplate
,
669 uint32
*NumberOfFields
,
670 CSSM_FIELD_PTR
*CertFields
);
673 CSSM_TP_CertSign (CSSM_TP_HANDLE TPHandle
,
674 CSSM_CL_HANDLE CLHandle
,
675 CSSM_CC_HANDLE CCHandle
,
676 const CSSM_DATA
*CertTemplateToBeSigned
,
677 const CSSM_CERTGROUP
*SignerCertGroup
,
678 const CSSM_TP_VERIFY_CONTEXT
*SignerVerifyContext
,
679 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR SignerVerifyResult
,
680 CSSM_DATA_PTR SignedCert
);
683 CSSM_TP_CrlVerify (CSSM_TP_HANDLE TPHandle
,
684 CSSM_CL_HANDLE CLHandle
,
685 CSSM_CSP_HANDLE CSPHandle
,
686 const CSSM_ENCODED_CRL
*CrlToBeVerified
,
687 const CSSM_CERTGROUP
*SignerCertGroup
,
688 const CSSM_TP_VERIFY_CONTEXT
*VerifyContext
,
689 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult
);
692 CSSM_TP_CrlCreateTemplate (CSSM_TP_HANDLE TPHandle
,
693 CSSM_CL_HANDLE CLHandle
,
694 uint32 NumberOfFields
,
695 const CSSM_FIELD
*CrlFields
,
696 CSSM_DATA_PTR NewCrlTemplate
);
699 CSSM_TP_CertRevoke (CSSM_TP_HANDLE TPHandle
,
700 CSSM_CL_HANDLE CLHandle
,
701 CSSM_CSP_HANDLE CSPHandle
,
702 const CSSM_DATA
*OldCrlTemplate
,
703 const CSSM_CERTGROUP
*CertGroupToBeRevoked
,
704 const CSSM_CERTGROUP
*RevokerCertGroup
,
705 const CSSM_TP_VERIFY_CONTEXT
*RevokerVerifyContext
,
706 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult
,
707 CSSM_TP_CERTCHANGE_REASON Reason
,
708 CSSM_DATA_PTR NewCrlTemplate
);
711 CSSM_TP_CertRemoveFromCrlTemplate (CSSM_TP_HANDLE TPHandle
,
712 CSSM_CL_HANDLE CLHandle
,
713 CSSM_CSP_HANDLE CSPHandle
,
714 const CSSM_DATA
*OldCrlTemplate
,
715 const CSSM_CERTGROUP
*CertGroupToBeRemoved
,
716 const CSSM_CERTGROUP
*RevokerCertGroup
,
717 const CSSM_TP_VERIFY_CONTEXT
*RevokerVerifyContext
,
718 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR RevokerVerifyResult
,
719 CSSM_DATA_PTR NewCrlTemplate
);
722 CSSM_TP_CrlSign (CSSM_TP_HANDLE TPHandle
,
723 CSSM_CL_HANDLE CLHandle
,
724 CSSM_CC_HANDLE CCHandle
,
725 const CSSM_ENCODED_CRL
*CrlToBeSigned
,
726 const CSSM_CERTGROUP
*SignerCertGroup
,
727 const CSSM_TP_VERIFY_CONTEXT
*SignerVerifyContext
,
728 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR SignerVerifyResult
,
729 CSSM_DATA_PTR SignedCrl
);
732 CSSM_TP_ApplyCrlToDb (CSSM_TP_HANDLE TPHandle
,
733 CSSM_CL_HANDLE CLHandle
,
734 CSSM_CSP_HANDLE CSPHandle
,
735 const CSSM_ENCODED_CRL
*CrlToBeApplied
,
736 const CSSM_CERTGROUP
*SignerCertGroup
,
737 const CSSM_TP_VERIFY_CONTEXT
*ApplyCrlVerifyContext
,
738 CSSM_TP_VERIFY_CONTEXT_RESULT_PTR ApplyCrlVerifyResult
);
741 CSSM_TP_CertGroupConstruct (CSSM_TP_HANDLE TPHandle
,
742 CSSM_CL_HANDLE CLHandle
,
743 CSSM_CSP_HANDLE CSPHandle
,
744 const CSSM_DL_DB_LIST
*DBList
,
745 const void *ConstructParams
,
746 const CSSM_CERTGROUP
*CertGroupFrag
,
747 CSSM_CERTGROUP_PTR
*CertGroup
);
750 CSSM_TP_CertGroupPrune (CSSM_TP_HANDLE TPHandle
,
751 CSSM_CL_HANDLE CLHandle
,
752 const CSSM_DL_DB_LIST
*DBList
,
753 const CSSM_CERTGROUP
*OrderedCertGroup
,
754 CSSM_CERTGROUP_PTR
*PrunedCertGroup
);
757 CSSM_TP_CertGroupToTupleGroup (CSSM_TP_HANDLE TPHandle
,
758 CSSM_CL_HANDLE CLHandle
,
759 const CSSM_CERTGROUP
*CertGroup
,
760 CSSM_TUPLEGROUP_PTR
*TupleGroup
);
763 CSSM_TP_TupleGroupToCertGroup (CSSM_TP_HANDLE TPHandle
,
764 CSSM_CL_HANDLE CLHandle
,
765 const CSSM_TUPLEGROUP
*TupleGroup
,
766 CSSM_CERTGROUP_PTR
*CertTemplates
);
769 CSSM_TP_PassThrough (CSSM_TP_HANDLE TPHandle
,
770 CSSM_CL_HANDLE CLHandle
,
771 CSSM_CC_HANDLE CCHandle
,
772 const CSSM_DL_DB_LIST
*DBList
,
773 uint32 PassThroughId
,
774 const void *InputParams
,
775 void **OutputParams
);
778 /* Authorization Computation Operations */
781 CSSM_AC_AuthCompute (CSSM_AC_HANDLE ACHandle
,
782 const CSSM_TUPLEGROUP
*BaseAuthorizations
,
783 const CSSM_TUPLEGROUP
*Credentials
,
784 uint32 NumberOfRequestors
,
785 const CSSM_LIST
*Requestors
,
786 const CSSM_LIST
*RequestedAuthorizationPeriod
,
787 const CSSM_LIST
*RequestedAuthorization
,
788 CSSM_TUPLEGROUP_PTR AuthorizationResult
);
791 CSSM_AC_PassThrough (CSSM_AC_HANDLE ACHandle
,
792 CSSM_TP_HANDLE TPHandle
,
793 CSSM_CL_HANDLE CLHandle
,
794 CSSM_CC_HANDLE CCHandle
,
795 const CSSM_DL_DB_LIST
*DBList
,
796 uint32 PassThroughId
,
797 const void *InputParams
,
798 void **OutputParams
);
801 /* Certificate Library Operations */
804 CSSM_CL_CertCreateTemplate (CSSM_CL_HANDLE CLHandle
,
805 uint32 NumberOfFields
,
806 const CSSM_FIELD
*CertFields
,
807 CSSM_DATA_PTR CertTemplate
);
810 CSSM_CL_CertGetAllTemplateFields (CSSM_CL_HANDLE CLHandle
,
811 const CSSM_DATA
*CertTemplate
,
812 uint32
*NumberOfFields
,
813 CSSM_FIELD_PTR
*CertFields
);
816 CSSM_CL_CertSign (CSSM_CL_HANDLE CLHandle
,
817 CSSM_CC_HANDLE CCHandle
,
818 const CSSM_DATA
*CertTemplate
,
819 const CSSM_FIELD
*SignScope
,
821 CSSM_DATA_PTR SignedCert
);
824 CSSM_CL_CertVerify (CSSM_CL_HANDLE CLHandle
,
825 CSSM_CC_HANDLE CCHandle
,
826 const CSSM_DATA
*CertToBeVerified
,
827 const CSSM_DATA
*SignerCert
,
828 const CSSM_FIELD
*VerifyScope
,
832 CSSM_CL_CertVerifyWithKey (CSSM_CL_HANDLE CLHandle
,
833 CSSM_CC_HANDLE CCHandle
,
834 const CSSM_DATA
*CertToBeVerified
);
837 CSSM_CL_CertGetFirstFieldValue (CSSM_CL_HANDLE CLHandle
,
838 const CSSM_DATA
*Cert
,
839 const CSSM_OID
*CertField
,
840 CSSM_HANDLE_PTR ResultsHandle
,
841 uint32
*NumberOfMatchedFields
,
842 CSSM_DATA_PTR
*Value
);
845 CSSM_CL_CertGetNextFieldValue (CSSM_CL_HANDLE CLHandle
,
846 CSSM_HANDLE ResultsHandle
,
847 CSSM_DATA_PTR
*Value
);
850 CSSM_CL_CertAbortQuery (CSSM_CL_HANDLE CLHandle
,
851 CSSM_HANDLE ResultsHandle
);
854 CSSM_CL_CertGetKeyInfo (CSSM_CL_HANDLE CLHandle
,
855 const CSSM_DATA
*Cert
,
859 CSSM_CL_CertGetAllFields (CSSM_CL_HANDLE CLHandle
,
860 const CSSM_DATA
*Cert
,
861 uint32
*NumberOfFields
,
862 CSSM_FIELD_PTR
*CertFields
);
865 CSSM_CL_FreeFields (CSSM_CL_HANDLE CLHandle
,
866 uint32 NumberOfFields
,
867 CSSM_FIELD_PTR
*Fields
);
870 CSSM_CL_FreeFieldValue (CSSM_CL_HANDLE CLHandle
,
871 const CSSM_OID
*CertOrCrlOid
,
872 CSSM_DATA_PTR Value
);
875 CSSM_CL_CertCache (CSSM_CL_HANDLE CLHandle
,
876 const CSSM_DATA
*Cert
,
877 CSSM_HANDLE_PTR CertHandle
);
880 CSSM_CL_CertGetFirstCachedFieldValue (CSSM_CL_HANDLE CLHandle
,
881 CSSM_HANDLE CertHandle
,
882 const CSSM_OID
*CertField
,
883 CSSM_HANDLE_PTR ResultsHandle
,
884 uint32
*NumberOfMatchedFields
,
885 CSSM_DATA_PTR
*Value
);
888 CSSM_CL_CertGetNextCachedFieldValue (CSSM_CL_HANDLE CLHandle
,
889 CSSM_HANDLE ResultsHandle
,
890 CSSM_DATA_PTR
*Value
);
893 CSSM_CL_CertAbortCache (CSSM_CL_HANDLE CLHandle
,
894 CSSM_HANDLE CertHandle
);
897 CSSM_CL_CertGroupToSignedBundle (CSSM_CL_HANDLE CLHandle
,
898 CSSM_CC_HANDLE CCHandle
,
899 const CSSM_CERTGROUP
*CertGroupToBundle
,
900 const CSSM_CERT_BUNDLE_HEADER
*BundleInfo
,
901 CSSM_DATA_PTR SignedBundle
);
904 CSSM_CL_CertGroupFromVerifiedBundle (CSSM_CL_HANDLE CLHandle
,
905 CSSM_CC_HANDLE CCHandle
,
906 const CSSM_CERT_BUNDLE
*CertBundle
,
907 const CSSM_DATA
*SignerCert
,
908 CSSM_CERTGROUP_PTR
*CertGroup
);
911 CSSM_CL_CertDescribeFormat (CSSM_CL_HANDLE CLHandle
,
912 uint32
*NumberOfFields
,
913 CSSM_OID_PTR
*OidList
);
916 CSSM_CL_CrlCreateTemplate (CSSM_CL_HANDLE CLHandle
,
917 uint32 NumberOfFields
,
918 const CSSM_FIELD
*CrlTemplate
,
919 CSSM_DATA_PTR NewCrl
);
922 CSSM_CL_CrlSetFields (CSSM_CL_HANDLE CLHandle
,
923 uint32 NumberOfFields
,
924 const CSSM_FIELD
*CrlTemplate
,
925 const CSSM_DATA
*OldCrl
,
926 CSSM_DATA_PTR ModifiedCrl
);
929 CSSM_CL_CrlAddCert (CSSM_CL_HANDLE CLHandle
,
930 CSSM_CC_HANDLE CCHandle
,
931 const CSSM_DATA
*Cert
,
932 uint32 NumberOfFields
,
933 const CSSM_FIELD
*CrlEntryFields
,
934 const CSSM_DATA
*OldCrl
,
935 CSSM_DATA_PTR NewCrl
);
938 CSSM_CL_CrlRemoveCert (CSSM_CL_HANDLE CLHandle
,
939 const CSSM_DATA
*Cert
,
940 const CSSM_DATA
*OldCrl
,
941 CSSM_DATA_PTR NewCrl
);
944 CSSM_CL_CrlSign (CSSM_CL_HANDLE CLHandle
,
945 CSSM_CC_HANDLE CCHandle
,
946 const CSSM_DATA
*UnsignedCrl
,
947 const CSSM_FIELD
*SignScope
,
949 CSSM_DATA_PTR SignedCrl
);
952 CSSM_CL_CrlVerify (CSSM_CL_HANDLE CLHandle
,
953 CSSM_CC_HANDLE CCHandle
,
954 const CSSM_DATA
*CrlToBeVerified
,
955 const CSSM_DATA
*SignerCert
,
956 const CSSM_FIELD
*VerifyScope
,
960 CSSM_CL_CrlVerifyWithKey (CSSM_CL_HANDLE CLHandle
,
961 CSSM_CC_HANDLE CCHandle
,
962 const CSSM_DATA
*CrlToBeVerified
);
965 CSSM_CL_IsCertInCrl (CSSM_CL_HANDLE CLHandle
,
966 const CSSM_DATA
*Cert
,
967 const CSSM_DATA
*Crl
,
968 CSSM_BOOL
*CertFound
);
971 CSSM_CL_CrlGetFirstFieldValue (CSSM_CL_HANDLE CLHandle
,
972 const CSSM_DATA
*Crl
,
973 const CSSM_OID
*CrlField
,
974 CSSM_HANDLE_PTR ResultsHandle
,
975 uint32
*NumberOfMatchedFields
,
976 CSSM_DATA_PTR
*Value
);
979 CSSM_CL_CrlGetNextFieldValue (CSSM_CL_HANDLE CLHandle
,
980 CSSM_HANDLE ResultsHandle
,
981 CSSM_DATA_PTR
*Value
);
984 CSSM_CL_CrlAbortQuery (CSSM_CL_HANDLE CLHandle
,
985 CSSM_HANDLE ResultsHandle
);
988 CSSM_CL_CrlGetAllFields (CSSM_CL_HANDLE CLHandle
,
989 const CSSM_DATA
*Crl
,
990 uint32
*NumberOfCrlFields
,
991 CSSM_FIELD_PTR
*CrlFields
);
994 CSSM_CL_CrlCache (CSSM_CL_HANDLE CLHandle
,
995 const CSSM_DATA
*Crl
,
996 CSSM_HANDLE_PTR CrlHandle
);
999 CSSM_CL_IsCertInCachedCrl (CSSM_CL_HANDLE CLHandle
,
1000 const CSSM_DATA
*Cert
,
1001 CSSM_HANDLE CrlHandle
,
1002 CSSM_BOOL
*CertFound
,
1003 CSSM_DATA_PTR CrlRecordIndex
);
1006 CSSM_CL_CrlGetFirstCachedFieldValue (CSSM_CL_HANDLE CLHandle
,
1007 CSSM_HANDLE CrlHandle
,
1008 const CSSM_DATA
*CrlRecordIndex
,
1009 const CSSM_OID
*CrlField
,
1010 CSSM_HANDLE_PTR ResultsHandle
,
1011 uint32
*NumberOfMatchedFields
,
1012 CSSM_DATA_PTR
*Value
);
1015 CSSM_CL_CrlGetNextCachedFieldValue (CSSM_CL_HANDLE CLHandle
,
1016 CSSM_HANDLE ResultsHandle
,
1017 CSSM_DATA_PTR
*Value
);
1020 CSSM_CL_CrlGetAllCachedRecordFields (CSSM_CL_HANDLE CLHandle
,
1021 CSSM_HANDLE CrlHandle
,
1022 const CSSM_DATA
*CrlRecordIndex
,
1023 uint32
*NumberOfFields
,
1024 CSSM_FIELD_PTR
*CrlFields
);
1027 CSSM_CL_CrlAbortCache (CSSM_CL_HANDLE CLHandle
,
1028 CSSM_HANDLE CrlHandle
);
1031 CSSM_CL_CrlDescribeFormat (CSSM_CL_HANDLE CLHandle
,
1032 uint32
*NumberOfFields
,
1033 CSSM_OID_PTR
*OidList
);
1036 CSSM_CL_PassThrough (CSSM_CL_HANDLE CLHandle
,
1037 CSSM_CC_HANDLE CCHandle
,
1038 uint32 PassThroughId
,
1039 const void *InputParams
,
1040 void **OutputParams
);
1043 /* Data Storage Library Operations */
1046 CSSM_DL_DbOpen (CSSM_DL_HANDLE DLHandle
,
1048 const CSSM_NET_ADDRESS
*DbLocation
,
1049 CSSM_DB_ACCESS_TYPE AccessRequest
,
1050 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
1051 const void *OpenParameters
,
1052 CSSM_DB_HANDLE
*DbHandle
);
1055 CSSM_DL_DbClose (CSSM_DL_DB_HANDLE DLDBHandle
);
1058 CSSM_DL_DbCreate (CSSM_DL_HANDLE DLHandle
,
1060 const CSSM_NET_ADDRESS
*DbLocation
,
1061 const CSSM_DBINFO
*DBInfo
,
1062 CSSM_DB_ACCESS_TYPE AccessRequest
,
1063 const CSSM_RESOURCE_CONTROL_CONTEXT
*CredAndAclEntry
,
1064 const void *OpenParameters
,
1065 CSSM_DB_HANDLE
*DbHandle
);
1068 CSSM_DL_DbDelete (CSSM_DL_HANDLE DLHandle
,
1070 const CSSM_NET_ADDRESS
*DbLocation
,
1071 const CSSM_ACCESS_CREDENTIALS
*AccessCred
);
1074 CSSM_DL_CreateRelation (CSSM_DL_DB_HANDLE DLDBHandle
,
1075 CSSM_DB_RECORDTYPE RelationID
,
1076 const char *RelationName
,
1077 uint32 NumberOfAttributes
,
1078 const CSSM_DB_SCHEMA_ATTRIBUTE_INFO
*pAttributeInfo
,
1079 uint32 NumberOfIndexes
,
1080 const CSSM_DB_SCHEMA_INDEX_INFO
*pIndexInfo
);
1083 CSSM_DL_DestroyRelation (CSSM_DL_DB_HANDLE DLDBHandle
,
1084 CSSM_DB_RECORDTYPE RelationID
);
1087 CSSM_DL_Authenticate (CSSM_DL_DB_HANDLE DLDBHandle
,
1088 CSSM_DB_ACCESS_TYPE AccessRequest
,
1089 const CSSM_ACCESS_CREDENTIALS
*AccessCred
);
1092 CSSM_DL_GetDbAcl (CSSM_DL_DB_HANDLE DLDBHandle
,
1093 const CSSM_STRING
*SelectionTag
,
1094 uint32
*NumberOfAclInfos
,
1095 CSSM_ACL_ENTRY_INFO_PTR
*AclInfos
);
1098 CSSM_DL_ChangeDbAcl (CSSM_DL_DB_HANDLE DLDBHandle
,
1099 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
1100 const CSSM_ACL_EDIT
*AclEdit
);
1103 CSSM_DL_GetDbOwner (CSSM_DL_DB_HANDLE DLDBHandle
,
1104 CSSM_ACL_OWNER_PROTOTYPE_PTR Owner
);
1107 CSSM_DL_ChangeDbOwner (CSSM_DL_DB_HANDLE DLDBHandle
,
1108 const CSSM_ACCESS_CREDENTIALS
*AccessCred
,
1109 const CSSM_ACL_OWNER_PROTOTYPE
*NewOwner
);
1112 CSSM_DL_GetDbNames (CSSM_DL_HANDLE DLHandle
,
1113 CSSM_NAME_LIST_PTR
*NameList
);
1116 CSSM_DL_GetDbNameFromHandle (CSSM_DL_DB_HANDLE DLDBHandle
,
1120 CSSM_DL_FreeNameList (CSSM_DL_HANDLE DLHandle
,
1121 CSSM_NAME_LIST_PTR NameList
);
1124 CSSM_DL_DataInsert (CSSM_DL_DB_HANDLE DLDBHandle
,
1125 CSSM_DB_RECORDTYPE RecordType
,
1126 const CSSM_DB_RECORD_ATTRIBUTE_DATA
*Attributes
,
1127 const CSSM_DATA
*Data
,
1128 CSSM_DB_UNIQUE_RECORD_PTR
*UniqueId
);
1131 CSSM_DL_DataDelete (CSSM_DL_DB_HANDLE DLDBHandle
,
1132 const CSSM_DB_UNIQUE_RECORD
*UniqueRecordIdentifier
);
1135 CSSM_DL_DataModify (CSSM_DL_DB_HANDLE DLDBHandle
,
1136 CSSM_DB_RECORDTYPE RecordType
,
1137 CSSM_DB_UNIQUE_RECORD_PTR UniqueRecordIdentifier
,
1138 const CSSM_DB_RECORD_ATTRIBUTE_DATA
*AttributesToBeModified
,
1139 const CSSM_DATA
*DataToBeModified
,
1140 CSSM_DB_MODIFY_MODE ModifyMode
);
1143 CSSM_DL_DataGetFirst (CSSM_DL_DB_HANDLE DLDBHandle
,
1144 const CSSM_QUERY
*Query
,
1145 CSSM_HANDLE_PTR ResultsHandle
,
1146 CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes
,
1148 CSSM_DB_UNIQUE_RECORD_PTR
*UniqueId
);
1151 CSSM_DL_DataGetNext (CSSM_DL_DB_HANDLE DLDBHandle
,
1152 CSSM_HANDLE ResultsHandle
,
1153 CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes
,
1155 CSSM_DB_UNIQUE_RECORD_PTR
*UniqueId
);
1158 CSSM_DL_DataAbortQuery (CSSM_DL_DB_HANDLE DLDBHandle
,
1159 CSSM_HANDLE ResultsHandle
);
1162 CSSM_DL_DataGetFromUniqueRecordId (CSSM_DL_DB_HANDLE DLDBHandle
,
1163 const CSSM_DB_UNIQUE_RECORD
*UniqueRecord
,
1164 CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes
,
1165 CSSM_DATA_PTR Data
);
1168 CSSM_DL_FreeUniqueRecord (CSSM_DL_DB_HANDLE DLDBHandle
,
1169 CSSM_DB_UNIQUE_RECORD_PTR UniqueRecord
);
1172 CSSM_DL_PassThrough (CSSM_DL_DB_HANDLE DLDBHandle
,
1173 uint32 PassThroughId
,
1174 const void *InputParams
,
1175 void **OutputParams
);
1181 #endif /* _CSSMAPI_H_ */