/usr/lib/ocaml/camlpdf/pdfcrypt.mli is in libcamlpdf-ocaml-dev 2.2.1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | (** Decrypting PDF files *)
(** Note that encryption depends on fixed object and generation numbers: don't
change these (for example by calling [Pdf.remove_unreferenced] on the PDF)
before writing.
Encryption support is part of the [Pdfwrite] module, since files are encrypted when they're written. *)
(** If this is set, various debug is produced on standard output. On startup, is set to false *)
val crypt_debug : bool ref
(* Permissions. *)
type permission =
| NoEdit
| NoPrint
| NoCopy
| NoAnnot
| NoForms
| NoExtract
| NoAssemble
| NoHqPrint
(** Decrypt a PDF document, given the user password, returning the permissions
under which the document was encrypted. *)
val decrypt_pdf : ?keyfromowner:string -> string -> Pdf.t -> Pdf.t option * permission list
(** Decrypt a PDF document, given the owner password. *)
val decrypt_pdf_owner : string -> Pdf.t -> Pdf.t option
(** Is a PDF encrypted? *)
val is_encrypted : Pdf.t -> bool
(**/**)
(* only for the use of PDFWrite *)
(** [recrypt_pdf decrypted_and_modified] re-encrypts a PDF document
which was decrypted using the user password and owner password from the
original encrypted file and the same permissions and encryption parameters. *)
val recrypt_pdf : ?renumber:bool -> Pdf.t -> string -> Pdf.t
(** Encrypt a PDF documnent, using 40 bit encryption, with given user and
owner passwords. *)
val encrypt_pdf_40bit : string -> string -> permission list -> Pdf.t -> Pdf.t
(** Ditto for 128 bit encryption *)
val encrypt_pdf_128bit : string -> string -> permission list -> Pdf.t -> Pdf.t
(** Encrypt a file using the AESV2 Crypt filter *)
val encrypt_pdf_AES : bool -> string -> string -> permission list -> Pdf.t -> Pdf.t
(** Encrypt a file using the AESV3 Crypt filter *)
val encrypt_pdf_AES256 : bool -> string -> string -> permission list -> Pdf.t -> Pdf.t
(** Encrypt a file using the AESV4 (ISO) Crypt filter *)
val encrypt_pdf_AES256ISO : bool -> string -> string -> permission list -> Pdf.t -> Pdf.t
(* only for the use of Pdfread *)
val decrypt_single_stream :
string option -> string option -> Pdf.t -> int -> int -> Pdf.pdfobject -> Pdf.pdfobject
(* Don't call on an unencrypted PDF *)
val get_encryption_values : Pdf.t -> Pdfcryptprimitives.encryption * string * string * int32 * string * string option * string option
val banlist_of_p : int32 -> permission list
val string_of_pdf : (Pdf.pdfobject -> string) ref
|