3#ifndef PDFSDK_CORE_SECURITY_H_INCLUDED_
4#define PDFSDK_CORE_SECURITY_H_INCLUDED_
88typedef PDErrCode(PDFSDK_CALLCONV* PDCryptNewAuthDataProc)(
void* clientData,
void** pAuthData);
89typedef PDErrCode(PDFSDK_CALLCONV* PDCryptFreeAuthDataProc)(
void* authData);
91typedef PDErrCode(PDFSDK_CALLCONV* PDCryptNewSecurityDataProc)(
void* clientData,
93 void** pSecurityData);
94typedef PDErrCode(PDFSDK_CALLCONV* PDCryptCopySecurityDataProc)(
void* securityData,
95 void** pSecurityData);
96typedef PDErrCode(PDFSDK_CALLCONV* PDCryptFreeSecurityDataProc)(
void* securityData);
98typedef PDErrCode(PDFSDK_CALLCONV* PDCryptGetKeyDataProc)(
void* securityData,
106typedef PDErrCode(PDFSDK_CALLCONV* PDCryptEncryptProc)(
void* securityData,
115 size_t* pOutputSize);
117typedef PDErrCode(PDFSDK_CALLCONV* PDCryptAuthorizeProc)(
void* securityData,
120 const void* authData,
123typedef PDErrCode(PDFSDK_CALLCONV* PDCryptFillEncryptDictProc)(
void* securityData,
127typedef PDErrCode(PDFSDK_CALLCONV* PDCryptEncryptMetadataProc)(
void* securityData,
bool* pEncrypt);
129typedef PDErrCode(PDFSDK_CALLCONV* PDCryptFreeClientDataProc)(
void* clientData);
132 PDCryptNewAuthDataProc newAuthData;
133 PDCryptFreeAuthDataProc freeAuthData;
134 PDCryptNewSecurityDataProc newSecurityData;
135 PDCryptCopySecurityDataProc copySecurityData;
136 PDCryptFreeSecurityDataProc freeSecurityData;
137 PDCryptGetKeyDataProc getCryptKey;
138 PDCryptEncryptProc encrypt;
139 PDCryptEncryptProc decrypt;
140 PDCryptFillEncryptDictProc fillEncryptDict;
141 PDCryptAuthorizeProc authorize;
142 PDCryptEncryptMetadataProc encryptMetadata;
143 PDCryptFreeClientDataProc freeClientData;
146typedef void* PDStdSecurityData;
182 kPDStdPermOwner = 0x8000,
191typedef uint32_t PDStdPerms;
196enum { kPDStdPasswordMaxChars = 255 };
197typedef wchar_t PDStdPassword[kPDStdPasswordMaxChars + 1];
228 bool hasOwnerPassword;
280 kPDStdSecurityModifyUserPassword = 0x01,
281 kPDStdSecurityModifyOwnerPassword = 0x02
283typedef uint32_t PDStdSecurityModifyFlags;
370PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocEncryptionIsModified(PDDoc doc,
bool* pValue);
373PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDDocPermRequestSecurity(PDDoc doc,
PDPermReqObj permReqObj,
PDPermReqOp permReqOp,
const void* authData,
bool* pGranted);
376PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDSecurityRegisterHandler(PDAtom filter,
const PDSecurityHandler* handler,
void* clientData);
377PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDSecurityNewAuthData(PDAtom filter,
void** pAuthData);
378PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDSecurityFreeAuthData(PDAtom filter,
void* authData);
380PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDStdSecurityDataNew(PDDoc doc, PDStdSecurityData* pSecurityData);
381PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDStdSecurityDataUpdateParams(PDStdSecurityData securityData,
382 PDStdSecurityModifyFlags modifyFlags,
385PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDStdSecurityDataFree(PDStdSecurityData securityData);
387PDF_CORE_API
PDErrCode PDFSDK_CALLCONV PDStdPasswordSetChars(PDStdPassword* authData,
const wchar_t* chars);
int32_t PDErrCode
Definition errors.h:44
@ kPDStdPermHighPrint
Definition security.h:181
@ kPDStdPermSaveAs
Definition security.h:168
@ kPDStdPermFormSubmit
Definition security.h:183
@ kPDStdPermPrint
Definition security.h:158
@ kPDStdPermFillAndSign
Definition security.h:174
@ kPDStdPermSecure
Definition security.h:157
@ kPDStdPermEdit
Definition security.h:159
@ kPDStdPermAccessible
Definition security.h:177
@ kPDStdPermEditNotes
Definition security.h:164
@ kPDStdPermOpen
Definition security.h:156
@ kPDStdPermExt
Definition security.h:171
@ kPDStdPermDocAssembly
Definition security.h:179
@ kPDStdPermCopy
Definition security.h:162
@ kPDStdPermFormSpawnTempl
Definition security.h:187
PDPermReqObj
Specifies the type of object to check permissions for.
Definition security.h:33
@ kPDPermReqObjAnnot
Definition security.h:37
@ kPDPermReqObjPage
Definition security.h:35
@ kPDPermReqObjForm
Definition security.h:38
@ kPDPermReqObjDoc
Definition security.h:34
@ kPDPermReqObjContent
Definition security.h:36
@ kPDPermReqObjAttachment
Definition security.h:42
@ kPDPermReqObjBookmark
Definition security.h:40
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetSecurityHandlerName(PDDoc doc, PDAtom *pName)
PDPermReqOp
Specifies the operation to check permissions for.
Definition security.h:61
@ kPDPermReqOpModify
Definition security.h:66
@ kPDPermReqOpInsert
Definition security.h:62
@ kPDPermReqOpCopyForAccessibility
Definition security.h:81
@ kPDPermReqOpExtract
Definition security.h:67
@ kPDPermReqOpAccessible
Definition security.h:68
@ kPDPermReqOpCreationOfTemplatePages
Definition security.h:83
@ kPDPermReqOpMove
Definition security.h:64
@ kPDPermReqOpPrintHigh
Definition security.h:74
@ kPDPermReqOpSecure
Definition security.h:71
@ kPDPermReqOpDelete
Definition security.h:63
@ kPDPermReqOpCopy
Definition security.h:79
@ kPDPermReqOpOpen
Definition security.h:70
@ kPDPermReqOpPrint
Definition security.h:73
@ kPDPermReqOpFullSave
Definition security.h:77
@ kPDPermReqOpFillIn
Definition security.h:75
@ kPDPermReqOpRotate
Definition security.h:65
@ kPDPermReqOpAllowDocAssembly
Definition security.h:85
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetSecurityHandlerData(PDDoc doc, void **pSecurityData)
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetNewSecurityHandlerName(PDDoc doc, PDAtom *pFilter)
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocSetNewSecurityHandler(PDDoc doc, PDAtom name, void *securityData)
PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetNewSecurityHandlerData(PDDoc doc, void **pSecurityData)
Definition security.h:131
Definition security.h:207
int version
Definition security.h:245
bool encryptMetadata
Definition security.h:266
bool encryptAttachmentsOnly
Definition security.h:272
PDStdPerms permissions
Definition security.h:233
PDAtom cryptMethod
Definition security.h:252
bool hasUserPassword
Definition security.h:217
int keyLength
Definition security.h:260
PDStdPassword ownerPassword
Definition security.h:222
PDStdPassword userPassword
Definition security.h:211
int revision
Definition security.h:238