Foxit PDF SDK

Public Member Functions | List of all members
FSDK.CustomSecurityCallback Class Reference
Inheritance diagram for FSDK.CustomSecurityCallback:

## Public Member Functions
| CreateContext (filter, sub_filter, encrypt_info)
| A callback function used to create context for encryption and decryption. More...
| DecryptData (decryptor, encrypted_data, encrypted_data_len)
| A callback function used to decrypt the encrypted data. More...
| FinishDecryptor (decryptor)
| A callback function used to finish the decryption. More...
| GetCipher (context)
| A callback function used to get the cipher type. More...
| GetEncryptedSize (context, obj_num, gen_num, src_data, src_data_len) EncryptData(context
| A callback function used to get the estimated encrypted size. More...
| GetEncryptKey (context) GetDecryptedSize(context
| A callback function used to get the encryption key. More...
| IsOwner (context)
| A callback function used to check if current user is the owner of the PDF document. More...
| ReleaseContext (context) GetUserPermissions(context
| A callback function used to release the context for encryption and decryption. More...
| StartDecryptor (context, obj_num, gen_num)
| A callback function used to start a decryption. More...

## Detailed Description

This class represents a callback object for custom decryption and encryption. If user wants to use custom security callback, user should inherit this callback class and implement the pure virtual functions (as callback functions), and then register the custom security callback object to Foxit PDF SDK by function FSDK.Library.RegisterSecurityCallback with with any custom filter name (following the PDF name conventions). Function FSDK.Library.UnregisterSecurityCallback can be called to unregister the security callback object with the registered filter name.

## Member Function Documentation

## ◆ CreateContext()

FSDK.CustomSecurityCallback.CreateContext | ( | filter | ,
|  | sub_filter | ,
|  | encrypt_info |
| ) |  |

A callback function used to create context for encryption and decryption.

Parameters

  [in] | filter | The filter name of the custom security callback object.
  [in] | sub_filter | The sub filter name that specifies the syntax of the encryption dictionary contents.
  [in] | encrypt_info | The encryption information of the PDF document.

Note
  User should implement this callback function.

Returns
  The encryption context.

## ◆ DecryptData()

FSDK.CustomSecurityCallback.DecryptData | ( | decryptor | ,
|  | encrypted_data | ,
|  | encrypted_data_len |
| ) |  |

A callback function used to decrypt the encrypted data.

Parameters

  [in] | decryptor | The decryptor implemented and created by user, returned by callback function FSDK.CustomSecurityCallback.StartDecryptor.
  [in] | encrypted_data | The buffer which stores the encrypted data.
  [in] | encrypted_data_len | The length of encrypted data, in bytes.

Note
  User should implement this callback function.

Returns
  The decrypted data content.

## ◆ FinishDecryptor()

FSDK.CustomSecurityCallback.FinishDecryptor | ( | decryptor |  | ) |

A callback function used to finish the decryption.

Parameters

  [in] | decryptor | The decryptor implemented and created by user, returned by callback function FSDK.CustomSecurityCallback.StartDecryptor.

Note
  User should implement this callback function.

Returns
  The decrypted data content.

## ◆ GetCipher()

FSDK.CustomSecurityCallback.GetCipher | ( | context |  | ) |

A callback function used to get the cipher type.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.

Note
  User should implement this callback function.

Returns
  The cipher type. Please refer to values starting from FSDK.SecurityHandler.e_CipherNone and this should be one of these values.

## ◆ GetEncryptedSize()

FSDK.CustomSecurityCallback.GetEncryptedSize | ( |  | context,
|  |  | obj_num,
|  |  | gen_num,
|  |  | src_data,
|  |  | src_data_len
| ) |  |

A callback function used to get the estimated encrypted size.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.
  [in] | obj_num | The object number for a PDF object.
  [in] | gen_num | The generation number for a PDF object.
  [in] | src_data | The buffer which stores the plain text to be encrypted.
  [in] | src_data_len | The length of the buffer.

Note
  User should implement this callback function.

Returns
  The estimated encrypted size.A callback function used to get encrypted data.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.
  [in] | obj_num | The object number for a PDF object.
  [in] | gen_num | The generation number for a PDF object.
  [in] | src_data | The buffer which stores the plain text to be encrypted.
  [in] | src_data_len | The length of the buffer.

Note
  User should implement this callback function.

Returns
  Returns a tuple, the first element is a boolean value, true means success, while false means failure. The second element is the parameter that receives the encrypted content. The third element is the parameter that receives the length of the encrypted data.

## ◆ GetEncryptKey()

FSDK.CustomSecurityCallback.GetEncryptKey | ( |  | context | ) |

A callback function used to get the encryption key.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.

Note
  User should implement this callback function.

Returns
  The encryption key.A callback function used to get the estimated decrypted data size.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.
  [in] | src_data_size | Size of source data which is to be decrypted.

Note
  User should implement this callback function.

Returns
  The estimated decrypted data size.

## ◆ IsOwner()

FSDK.CustomSecurityCallback.IsOwner | ( | context |  | ) |

A callback function used to check if current user is the owner of the PDF document.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.

Note
  User should implement this callback function.

Returns
  true means current user is the owner, and false means current user is not the owner.

## ◆ ReleaseContext()

FSDK.CustomSecurityCallback.ReleaseContext | ( |  | context | ) |

A callback function used to release the context for encryption and decryption.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.

Note
  User should implement this callback function.

Returns
  true means success, while false means failure.A callback function used to get the user permissions.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.
  [in] | user_permission | Original permission settings of the document. Please refer to values starting from FSDK.PDFDoc.e_PermPrint and this would be one or combination of these values.

Note
  User should implement this callback function.

Returns
  The new user permissions. Please refer to values starting from FSDK.PDFDoc.e_PermPrint and this should be one or combination of these values.

## ◆ StartDecryptor()

FSDK.CustomSecurityCallback.StartDecryptor | ( | context | ,
|  | obj_num | ,
|  | gen_num |
| ) |  |

A callback function used to start a decryption.

Parameters

  [in] | context | The context for encryption and decryption, returned by callback function FSDK.CustomSecurityCallback.CreateContext.
  [in] | obj_num | The object number for a PDF object.
  [in] | gen_num | The generation number for a PDF object.

Note
  User should implement this callback function.

Returns
  A decryptor implemented and created by user.