19 #ifndef __FILESIGNING__
20 #define __FILESIGNING__
34 #ifndef __CRYPTOMESSAGESYNTAX__
50 #if PRAGMA_STRUCT_ALIGN
51 #pragma options align = mac68k
52 #elif PRAGMA_STRUCT_PACKPUSH
54 #elif PRAGMA_STRUCT_PACK
59 typedef SInt32 SecOptions;
61 kSecOptionProgress = 1 << 0,
62 kSecOptionShowVerifyUI = 1 << 1,
63 kSecOptionNeverShowUI = 1 << 2,
68 typedef UInt32 SecSignatureType;
70 kSecSignatureTypeRawPKCS7 = 0,
71 kSecSignatureTypeCMS = 1,
72 kSecSignatureTypePGP = 2
75 typedef UInt32 SecTrustPolicy;
76 enum { kSecTrustPolicyCodeSigning = 0, kSecTrustPolicyPersonalFileSigning = 1 };
80 UInt32 bytesProcessed;
82 UInt32 itemsRemainingToSign;
83 UInt32 totalItemsToSign;
84 UInt32 secondsRemaining;
85 UInt32 secondsElapsed;
86 UInt32 microSecondsPerByte;
90 typedef CALLBACK_API(OSStatus, SecProgressCallbackProcPtr)(
92 typedef STACK_UPP_TYPE(SecProgressCallbackProcPtr) SecProgressCallbackUPP;
93 #if CALL_NOT_IN_CARBON
102 SecProgressCallbackUPP
104 #if !OPAQUE_UPP_TYPES
106 uppSecProgressCallbackProcInfo = 0x000003F0
109 inline SecProgressCallbackUPP
112 (ProcPtr)(userRoutine), uppSecProgressCallbackProcInfo,
113 GetCurrentArchitecture());
116 #define NewSecProgressCallbackUPP(userRoutine) \
117 (SecProgressCallbackUPP) NewRoutineDescriptor( \
118 (ProcPtr)(userRoutine), uppSecProgressCallbackProcInfo, \
119 GetCurrentArchitecture())
133 #if !OPAQUE_UPP_TYPES
139 #define DisposeSecProgressCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
153 void *userContext, SecProgressCallbackUPP userUPP);
154 #if !OPAQUE_UPP_TYPES
159 SecProgressCallbackUPP userUPP) {
160 return (OSStatus)CALL_TWO_PARAMETER_UPP(
161 userUPP, uppSecProgressCallbackProcInfo, callbackInfo, userContext);
164 #define InvokeSecProgressCallbackUPP(callbackInfo, userContext, userUPP) \
165 (OSStatus) CALL_TWO_PARAMETER_UPP((userUPP), uppSecProgressCallbackProcInfo, \
166 (callbackInfo), (userContext))
172 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
174 #define NewSecProgressCallbackProc(userRoutine) \
175 NewSecProgressCallbackUPP(userRoutine)
176 #define CallSecProgressCallbackProc(userRoutine, callbackInfo, userContext) \
177 InvokeSecProgressCallbackUPP(callbackInfo, userContext, userRoutine)
180 #if CALL_NOT_IN_CARBON
217 enum { kSecDefaultSignatureResID = 1 };
219 #if CALL_NOT_IN_CARBON
230 SecOptions options, SecProgressCallbackUPP progressProc,
266 SInt16 signatureToRemove);
289 SecProgressCallbackUPP progressProc,
void *userContext,
290 SInt16 signatureToVerify, CFArrayRef policyOIDs,
291 KCVerifyStopOn stopOn, SecSignerRef *signer);
303 SecTrustPolicy trustPolicy, SecSignerRef *signer);
326 SInt16 *signatureToVerify);
349 Boolean alwaysShowUI, FSSpec *theFile);
355 errSecTooManySigners = -13839,
356 errSecSigningFailed = -13838,
357 errSecCorruptSigPound = -13837,
358 errSecNoSignatureFound = -13836
361 #if PRAGMA_STRUCT_ALIGN
362 #pragma options align = reset
363 #elif PRAGMA_STRUCT_PACKPUSH
365 #elif PRAGMA_STRUCT_PACK
369 #ifdef PRAGMA_IMPORT_OFF
OSStatus SecMacSignFileSimple(FSSpec *theFile, KCItemRef signingCertificate, SecOptions options)
OSStatus SecMacFindSignatureToVerify(FSSpec *theFile, SecSignatureType signatureType, SInt16 *signatureToVerify)
OSStatus SecMacRemoveAllSignatures(FSSpec *theFile, SecSignatureType signatureType)
OSStatus DefaultSecProgressCallbackProc(SecProgressCallbackInfo *info, void *userContext)
OSStatus SecMacLoadSigPound(FSSpec *theFile, Handle *resHandle)
OSStatus SecMacVerifyFile(FSSpec *theFile, SecOptions options, SecProgressCallbackUPP progressProc, void *userContext, SInt16 signatureToVerify, CFArrayRef policyOIDs, KCVerifyStopOn stopOn, SecSignerRef *signer)
OSStatus SecSetProgressCallback(SecProgressCallbackUPP callbackProc, void *userContext)
CFArrayRef SecMacGetDefaultPolicyOIDs(SecTrustPolicy trustPolicy)
SecProgressCallbackUPP NewSecProgressCallbackUPP(SecProgressCallbackProcPtr userRoutine)
OSStatus InvokeSecProgressCallbackUPP(SecProgressCallbackInfo *callbackInfo, void *userContext, SecProgressCallbackUPP userUPP)
Boolean SecMacHasSignature(FSSpec *theFile, SecSignatureType signatureType)
void DisposeSecProgressCallbackUPP(SecProgressCallbackUPP userUPP)
OSStatus SecRemoveProgressCallback(SecProgressCallbackUPP callbackProc)
OSStatus SecMacSignFile(FSSpec *theFile, KCItemRef signingCertificate, Handle sigH, SecOptions options, SecProgressCallbackUPP progressProc, void *userContext)
OSStatus SecMacDisplaySigner(OSStatus inputErr, SecSignerRef signer, Boolean alwaysShowUI, FSSpec *theFile)
OSStatus SecMacVerifyFileSimple(FSSpec *theFile, SecOptions options, SecTrustPolicy trustPolicy, SecSignerRef *signer)
OSStatus SecMacRemoveSignature(FSSpec *theFile, SecSignatureType signatureType, SInt16 signatureToRemove)
File Manager (MFS, HFS, and HFS+) Interfaces.
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
Definition: FileSigning.h:78