pdf-lite 1.0.1-alpha.2 → 1.0.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (721) hide show
  1. package/dist/core/decoder.d.ts +39 -0
  2. package/dist/core/decoder.js +367 -0
  3. package/dist/core/generators.d.ts +37 -0
  4. package/{packages/pdf-lite/src/core/generators.ts → dist/core/generators.js} +36 -67
  5. package/dist/core/incremental-parser.d.ts +103 -0
  6. package/{packages/pdf-lite/src/core/incremental-parser.ts → dist/core/incremental-parser.js} +63 -100
  7. package/dist/core/index.d.ts +2 -0
  8. package/dist/core/index.js +2 -0
  9. package/dist/core/objects/pdf-array.d.ts +12 -0
  10. package/dist/core/objects/pdf-array.js +42 -0
  11. package/dist/core/objects/pdf-boolean.d.ts +8 -0
  12. package/dist/core/objects/pdf-boolean.js +15 -0
  13. package/dist/core/objects/pdf-comment.d.ts +18 -0
  14. package/dist/core/objects/pdf-comment.js +39 -0
  15. package/dist/core/objects/pdf-date.d.ts +5 -0
  16. package/dist/core/objects/pdf-date.js +40 -0
  17. package/dist/core/objects/pdf-dictionary.d.ts +22 -0
  18. package/dist/core/objects/pdf-dictionary.js +136 -0
  19. package/dist/core/objects/pdf-hexadecimal.d.ts +17 -0
  20. package/dist/core/objects/pdf-hexadecimal.js +42 -0
  21. package/dist/core/objects/pdf-indirect-object.d.ts +27 -0
  22. package/dist/core/objects/pdf-indirect-object.js +100 -0
  23. package/dist/core/objects/pdf-name.d.ts +8 -0
  24. package/dist/core/objects/pdf-name.js +15 -0
  25. package/dist/core/objects/pdf-null.d.ts +7 -0
  26. package/dist/core/objects/pdf-null.js +11 -0
  27. package/dist/core/objects/pdf-number.d.ts +25 -0
  28. package/dist/core/objects/pdf-number.js +77 -0
  29. package/dist/core/objects/pdf-object-reference.d.ts +9 -0
  30. package/dist/core/objects/pdf-object-reference.js +19 -0
  31. package/dist/core/objects/pdf-object.d.ts +30 -0
  32. package/dist/core/objects/pdf-object.js +77 -0
  33. package/dist/core/objects/pdf-start-xref.d.ts +10 -0
  34. package/dist/core/objects/pdf-start-xref.js +32 -0
  35. package/dist/core/objects/pdf-stream.d.ts +100 -0
  36. package/dist/core/objects/pdf-stream.js +521 -0
  37. package/dist/core/objects/pdf-string.d.ts +15 -0
  38. package/dist/core/objects/pdf-string.js +30 -0
  39. package/dist/core/objects/pdf-trailer.d.ts +26 -0
  40. package/dist/core/objects/pdf-trailer.js +33 -0
  41. package/dist/core/objects/pdf-xref-table.d.ts +48 -0
  42. package/dist/core/objects/pdf-xref-table.js +183 -0
  43. package/{packages/pdf-lite/src/core/parser.ts → dist/core/parser.d.ts} +3 -4
  44. package/dist/core/parser.js +9 -0
  45. package/dist/core/ref.d.ts +59 -0
  46. package/{packages/pdf-lite/src/core/ref.ts → dist/core/ref.js} +23 -41
  47. package/dist/core/serializer.d.ts +36 -0
  48. package/{packages/pdf-lite/src/core/serializer.ts → dist/core/serializer.js} +20 -30
  49. package/dist/core/streams/object-stream.d.ts +6 -0
  50. package/dist/core/streams/object-stream.js +15 -0
  51. package/dist/core/tokeniser.d.ts +98 -0
  52. package/dist/core/tokeniser.js +552 -0
  53. package/dist/core/tokens/boolean-token.d.ts +8 -0
  54. package/dist/core/tokens/boolean-token.js +15 -0
  55. package/dist/core/tokens/byte-offset-token.d.ts +8 -0
  56. package/dist/core/tokens/byte-offset-token.js +15 -0
  57. package/dist/core/tokens/comment-token.d.ts +10 -0
  58. package/dist/core/tokens/comment-token.js +26 -0
  59. package/dist/core/tokens/end-array-token.d.ts +4 -0
  60. package/dist/core/tokens/end-array-token.js +8 -0
  61. package/dist/core/tokens/end-dictionary-token.d.ts +4 -0
  62. package/dist/core/tokens/end-dictionary-token.js +8 -0
  63. package/dist/core/tokens/end-object-token.d.ts +4 -0
  64. package/dist/core/tokens/end-object-token.js +8 -0
  65. package/dist/core/tokens/end-stream-token.d.ts +5 -0
  66. package/dist/core/tokens/end-stream-token.js +8 -0
  67. package/dist/core/tokens/hexadecimal-token.d.ts +7 -0
  68. package/dist/core/tokens/hexadecimal-token.js +16 -0
  69. package/dist/core/tokens/name-token.d.ts +6 -0
  70. package/dist/core/tokens/name-token.js +15 -0
  71. package/dist/core/tokens/null-token.d.ts +4 -0
  72. package/dist/core/tokens/null-token.js +8 -0
  73. package/dist/core/tokens/number-token.d.ts +24 -0
  74. package/dist/core/tokens/number-token.js +104 -0
  75. package/dist/core/tokens/object-reference-token.d.ts +7 -0
  76. package/dist/core/tokens/object-reference-token.js +17 -0
  77. package/dist/core/tokens/start-array-token.d.ts +4 -0
  78. package/dist/core/tokens/start-array-token.js +8 -0
  79. package/dist/core/tokens/start-dictionary-token.d.ts +4 -0
  80. package/dist/core/tokens/start-dictionary-token.js +8 -0
  81. package/dist/core/tokens/start-object-token.d.ts +8 -0
  82. package/dist/core/tokens/start-object-token.js +17 -0
  83. package/dist/core/tokens/start-stream-token.d.ts +8 -0
  84. package/dist/core/tokens/start-stream-token.js +38 -0
  85. package/dist/core/tokens/start-xref-token.d.ts +4 -0
  86. package/dist/core/tokens/start-xref-token.js +8 -0
  87. package/dist/core/tokens/stream-chunk-token.d.ts +5 -0
  88. package/dist/core/tokens/stream-chunk-token.js +6 -0
  89. package/dist/core/tokens/string-token.d.ts +7 -0
  90. package/dist/core/tokens/string-token.js +13 -0
  91. package/dist/core/tokens/token.d.ts +10 -0
  92. package/dist/core/tokens/token.js +32 -0
  93. package/dist/core/tokens/trailer-token.d.ts +5 -0
  94. package/dist/core/tokens/trailer-token.js +10 -0
  95. package/dist/core/tokens/whitespace-token.d.ts +11 -0
  96. package/dist/core/tokens/whitespace-token.js +36 -0
  97. package/dist/core/tokens/xref-table-entry-token.d.ts +13 -0
  98. package/dist/core/tokens/xref-table-entry-token.js +40 -0
  99. package/dist/core/tokens/xref-table-section-start-token.d.ts +8 -0
  100. package/dist/core/tokens/xref-table-section-start-token.js +21 -0
  101. package/dist/core/tokens/xref-table-start-token.d.ts +5 -0
  102. package/dist/core/tokens/xref-table-start-token.js +10 -0
  103. package/dist/crypto/ciphers/aes128.d.ts +19 -0
  104. package/{packages/pdf-lite/src/crypto/ciphers/aes128.ts → dist/crypto/ciphers/aes128.js} +17 -27
  105. package/dist/crypto/ciphers/aes256.d.ts +18 -0
  106. package/{packages/pdf-lite/src/crypto/ciphers/aes256.ts → dist/crypto/ciphers/aes256.js} +14 -17
  107. package/dist/crypto/ciphers/rc4.d.ts +18 -0
  108. package/{packages/pdf-lite/src/crypto/ciphers/rc4.ts → dist/crypto/ciphers/rc4.js} +25 -30
  109. package/dist/crypto/constants.d.ts +6 -0
  110. package/{packages/pdf-lite/src/crypto/constants.ts → dist/crypto/constants.js} +1 -1
  111. package/dist/crypto/key-derivation/key-derivation-aes256.d.ts +56 -0
  112. package/dist/crypto/key-derivation/key-derivation-aes256.js +156 -0
  113. package/dist/crypto/key-derivation/key-derivation.d.ts +42 -0
  114. package/{packages/pdf-lite/src/crypto/key-derivation/key-derivation.ts → dist/crypto/key-derivation/key-derivation.js} +35 -66
  115. package/dist/crypto/key-gen/key-gen-aes256.d.ts +36 -0
  116. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-aes256.ts → dist/crypto/key-gen/key-gen-aes256.js} +25 -50
  117. package/dist/crypto/key-gen/key-gen-rc4-128.d.ts +47 -0
  118. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-128.ts → dist/crypto/key-gen/key-gen-rc4-128.js} +45 -106
  119. package/dist/crypto/key-gen/key-gen-rc4-40.d.ts +60 -0
  120. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-40.ts → dist/crypto/key-gen/key-gen-rc4-40.js} +26 -62
  121. package/dist/crypto/types.d.ts +5 -0
  122. package/dist/crypto/types.js +1 -0
  123. package/dist/crypto/utils.d.ts +40 -0
  124. package/{packages/pdf-lite/src/crypto/utils.ts → dist/crypto/utils.js} +27 -36
  125. package/dist/filters/ascii85.d.ts +16 -0
  126. package/{packages/pdf-lite/src/filters/ascii85.ts → dist/filters/ascii85.js} +41 -65
  127. package/dist/filters/asciihex.d.ts +16 -0
  128. package/{packages/pdf-lite/src/filters/asciihex.ts → dist/filters/asciihex.js} +18 -19
  129. package/dist/filters/flate.d.ts +15 -0
  130. package/{packages/pdf-lite/src/filters/flate.ts → dist/filters/flate.js} +7 -10
  131. package/dist/filters/lzw.d.ts +16 -0
  132. package/dist/filters/lzw.js +150 -0
  133. package/dist/filters/pass-through.d.ts +14 -0
  134. package/{packages/pdf-lite/src/filters/pass-through.ts → dist/filters/pass-through.js} +6 -9
  135. package/dist/filters/runlength.d.ts +16 -0
  136. package/{packages/pdf-lite/src/filters/runlength.ts → dist/filters/runlength.js} +36 -40
  137. package/dist/filters/types.d.ts +18 -0
  138. package/{packages/pdf-lite/src/filters/types.ts → dist/filters/types.js} +1 -10
  139. package/dist/index.d.ts +4 -0
  140. package/dist/index.js +4 -0
  141. package/dist/pdf/errors.d.ts +6 -0
  142. package/{packages/pdf-lite/src/pdf/errors.ts → dist/pdf/errors.js} +2 -1
  143. package/dist/pdf/index.d.ts +4 -0
  144. package/dist/pdf/index.js +4 -0
  145. package/dist/pdf/pdf-document.d.ts +277 -0
  146. package/{packages/pdf-lite/src/pdf/pdf-document.ts → dist/pdf/pdf-document.js} +305 -541
  147. package/dist/pdf/pdf-reader.d.ts +37 -0
  148. package/{packages/pdf-lite/src/pdf/pdf-reader.ts → dist/pdf/pdf-reader.js} +12 -22
  149. package/dist/pdf/pdf-revision.d.ts +101 -0
  150. package/{packages/pdf-lite/src/pdf/pdf-revision.ts → dist/pdf/pdf-revision.js} +70 -105
  151. package/dist/pdf/pdf-xref-lookup.d.ts +149 -0
  152. package/dist/pdf/pdf-xref-lookup.js +402 -0
  153. package/dist/security/crypt-filters/aesv2.d.ts +35 -0
  154. package/{packages/pdf-lite/src/security/crypt-filters/aesv2.ts → dist/security/crypt-filters/aesv2.js} +9 -26
  155. package/dist/security/crypt-filters/aesv3.d.ts +36 -0
  156. package/{packages/pdf-lite/src/security/crypt-filters/aesv3.ts → dist/security/crypt-filters/aesv3.js} +9 -23
  157. package/{packages/pdf-lite/src/security/crypt-filters/base.ts → dist/security/crypt-filters/base.d.ts} +21 -73
  158. package/dist/security/crypt-filters/base.js +93 -0
  159. package/dist/security/crypt-filters/identity.d.ts +28 -0
  160. package/{packages/pdf-lite/src/security/crypt-filters/identity.ts → dist/security/crypt-filters/identity.js} +9 -13
  161. package/dist/security/crypt-filters/v2.d.ts +37 -0
  162. package/{packages/pdf-lite/src/security/crypt-filters/v2.ts → dist/security/crypt-filters/v2.js} +9 -26
  163. package/dist/security/handlers/base.d.ts +304 -0
  164. package/dist/security/handlers/base.js +359 -0
  165. package/dist/security/handlers/pubSec.d.ts +164 -0
  166. package/dist/security/handlers/pubSec.js +299 -0
  167. package/dist/security/handlers/utils.d.ts +77 -0
  168. package/dist/security/handlers/utils.js +244 -0
  169. package/dist/security/handlers/v1.d.ts +81 -0
  170. package/dist/security/handlers/v1.js +135 -0
  171. package/dist/security/handlers/v2.d.ts +63 -0
  172. package/{packages/pdf-lite/src/security/handlers/v2.ts → dist/security/handlers/v2.js} +25 -62
  173. package/dist/security/handlers/v4.d.ts +121 -0
  174. package/dist/security/handlers/v4.js +257 -0
  175. package/dist/security/handlers/v5.d.ts +112 -0
  176. package/dist/security/handlers/v5.js +210 -0
  177. package/{packages/pdf-lite/src/security/types.ts → dist/security/types.d.ts} +72 -94
  178. package/dist/security/types.js +1 -0
  179. package/dist/signing/document-security-store.d.ts +108 -0
  180. package/dist/signing/document-security-store.js +156 -0
  181. package/dist/signing/index.d.ts +3 -0
  182. package/dist/signing/index.js +3 -0
  183. package/dist/signing/signatures/adbe-pkcs7-detached.d.ts +57 -0
  184. package/dist/signing/signatures/adbe-pkcs7-detached.js +117 -0
  185. package/dist/signing/signatures/adbe-pkcs7-sha1.d.ts +55 -0
  186. package/dist/signing/signatures/adbe-pkcs7-sha1.js +121 -0
  187. package/dist/signing/signatures/adbe-x509-rsa-sha1.d.ts +49 -0
  188. package/dist/signing/signatures/adbe-x509-rsa-sha1.js +81 -0
  189. package/dist/signing/signatures/base.d.ts +107 -0
  190. package/dist/signing/signatures/base.js +145 -0
  191. package/dist/signing/signatures/etsi-cades-detached.d.ts +64 -0
  192. package/dist/signing/signatures/etsi-cades-detached.js +159 -0
  193. package/dist/signing/signatures/etsi-rfc3161.d.ts +37 -0
  194. package/{packages/pdf-lite/src/signing/signatures/etsi-rfc3161.ts → dist/signing/signatures/etsi-rfc3161.js} +21 -43
  195. package/dist/signing/signatures/index.d.ts +6 -0
  196. package/dist/signing/signatures/index.js +6 -0
  197. package/dist/signing/signer.d.ts +23 -0
  198. package/dist/signing/signer.js +92 -0
  199. package/{packages/pdf-lite/src/signing/types.ts → dist/signing/types.d.ts} +40 -48
  200. package/dist/signing/types.js +1 -0
  201. package/dist/signing/utils.d.ts +32 -0
  202. package/{packages/pdf-lite/src/signing/utils.ts → dist/signing/utils.js} +12 -31
  203. package/dist/types.d.ts +23 -0
  204. package/dist/types.js +11 -0
  205. package/dist/utils/IterableReadableStream.d.ts +24 -0
  206. package/{packages/pdf-lite/src/utils/IterableReadableStream.ts → dist/utils/IterableReadableStream.js} +6 -6
  207. package/dist/utils/algos.d.ts +242 -0
  208. package/{packages/pdf-lite/src/utils/algos.ts → dist/utils/algos.js} +63 -136
  209. package/dist/utils/assert.d.ts +28 -0
  210. package/{packages/pdf-lite/src/utils/assert.ts → dist/utils/assert.js} +5 -10
  211. package/dist/utils/bytesToHex.d.ts +13 -0
  212. package/{packages/pdf-lite/src/utils/bytesToHex.ts → dist/utils/bytesToHex.js} +4 -6
  213. package/dist/utils/bytesToHexBytes.d.ts +14 -0
  214. package/{packages/pdf-lite/src/utils/bytesToHexBytes.ts → dist/utils/bytesToHexBytes.js} +7 -12
  215. package/dist/utils/bytesToString.d.ts +13 -0
  216. package/{packages/pdf-lite/src/utils/bytesToString.ts → dist/utils/bytesToString.js} +3 -5
  217. package/dist/utils/concatUint8Arrays.d.ts +16 -0
  218. package/{packages/pdf-lite/src/utils/concatUint8Arrays.ts → dist/utils/concatUint8Arrays.js} +7 -9
  219. package/dist/utils/escapeString.d.ts +14 -0
  220. package/dist/utils/escapeString.js +43 -0
  221. package/dist/utils/hexBytesToBytes.d.ts +15 -0
  222. package/{packages/pdf-lite/src/utils/hexBytesToBytes.ts → dist/utils/hexBytesToBytes.js} +4 -6
  223. package/dist/utils/hexBytesToString.d.ts +13 -0
  224. package/{packages/pdf-lite/src/utils/hexBytesToString.ts → dist/utils/hexBytesToString.js} +5 -7
  225. package/dist/utils/hexToBytes.d.ts +13 -0
  226. package/{packages/pdf-lite/src/utils/hexToBytes.ts → dist/utils/hexToBytes.js} +4 -6
  227. package/dist/utils/padBytes.d.ts +15 -0
  228. package/{packages/pdf-lite/src/utils/padBytes.ts → dist/utils/padBytes.js} +5 -9
  229. package/dist/utils/predictors.d.ts +113 -0
  230. package/{packages/pdf-lite/src/utils/predictors.ts → dist/utils/predictors.js} +103 -156
  231. package/dist/utils/replaceInBuffer.d.ts +22 -0
  232. package/{packages/pdf-lite/src/utils/replaceInBuffer.ts → dist/utils/replaceInBuffer.js} +18 -27
  233. package/dist/utils/stringToBytes.d.ts +14 -0
  234. package/{packages/pdf-lite/src/utils/stringToBytes.ts → dist/utils/stringToBytes.js} +6 -7
  235. package/dist/utils/stringToHexBytes.d.ts +15 -0
  236. package/{packages/pdf-lite/src/utils/stringToHexBytes.ts → dist/utils/stringToHexBytes.js} +5 -7
  237. package/dist/utils/unescapeString.d.ts +16 -0
  238. package/dist/utils/unescapeString.js +114 -0
  239. package/package.json +37 -34
  240. package/.commitlintrc.cjs +0 -25
  241. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  242. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  243. package/.github/workflows/docs.yaml +0 -95
  244. package/.github/workflows/prepare-release.yaml +0 -79
  245. package/.github/workflows/release.yaml +0 -80
  246. package/.github/workflows/test.yaml +0 -35
  247. package/.husky/commit-msg +0 -1
  248. package/.husky/pre-commit +0 -1
  249. package/.prettierignore +0 -4
  250. package/.prettierrc +0 -4
  251. package/CONTRIBUTING.md +0 -109
  252. package/EXAMPLES.md +0 -1512
  253. package/docs/README.md +0 -127
  254. package/docs/core/README.md +0 -43
  255. package/docs/core/decoder/README.md +0 -11
  256. package/docs/core/decoder/classes/PdfDecoder.md +0 -362
  257. package/docs/core/generators/README.md +0 -14
  258. package/docs/core/generators/functions/bytesToPdfObjects.md +0 -26
  259. package/docs/core/generators/functions/pdfDecoder.md +0 -36
  260. package/docs/core/generators/functions/pdfDecoderAsync.md +0 -26
  261. package/docs/core/generators/functions/stringToPdfObjects.md +0 -25
  262. package/docs/core/incremental-parser/README.md +0 -13
  263. package/docs/core/incremental-parser/classes/EofReachedError.md +0 -55
  264. package/docs/core/incremental-parser/classes/IncrementalParser.md +0 -299
  265. package/docs/core/incremental-parser/classes/NoMoreTokensError.md +0 -55
  266. package/docs/core/objects/pdf-array/README.md +0 -11
  267. package/docs/core/objects/pdf-array/classes/PdfArray.md +0 -305
  268. package/docs/core/objects/pdf-boolean/README.md +0 -11
  269. package/docs/core/objects/pdf-boolean/classes/PdfBoolean.md +0 -265
  270. package/docs/core/objects/pdf-comment/README.md +0 -11
  271. package/docs/core/objects/pdf-comment/classes/PdfComment.md +0 -329
  272. package/docs/core/objects/pdf-date/README.md +0 -11
  273. package/docs/core/objects/pdf-date/classes/PdfDate.md +0 -317
  274. package/docs/core/objects/pdf-dictionary/README.md +0 -17
  275. package/docs/core/objects/pdf-dictionary/classes/PdfDictionary.md +0 -396
  276. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntries.md +0 -9
  277. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntry.md +0 -9
  278. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryMap.md +0 -9
  279. package/docs/core/objects/pdf-hexadecimal/README.md +0 -11
  280. package/docs/core/objects/pdf-hexadecimal/classes/PdfHexadecimal.md +0 -320
  281. package/docs/core/objects/pdf-indirect-object/README.md +0 -11
  282. package/docs/core/objects/pdf-indirect-object/classes/PdfIndirectObject.md +0 -411
  283. package/docs/core/objects/pdf-name/README.md +0 -11
  284. package/docs/core/objects/pdf-name/classes/PdfName.md +0 -271
  285. package/docs/core/objects/pdf-null/README.md +0 -11
  286. package/docs/core/objects/pdf-null/classes/PdfNull.md +0 -259
  287. package/docs/core/objects/pdf-number/README.md +0 -12
  288. package/docs/core/objects/pdf-number/classes/PdfByteOffsetNumber.md +0 -369
  289. package/docs/core/objects/pdf-number/classes/PdfNumber.md +0 -345
  290. package/docs/core/objects/pdf-object/README.md +0 -11
  291. package/docs/core/objects/pdf-object/classes/PdfObject.md +0 -214
  292. package/docs/core/objects/pdf-object-reference/README.md +0 -11
  293. package/docs/core/objects/pdf-object-reference/classes/PdfObjectReference.md +0 -279
  294. package/docs/core/objects/pdf-start-xref/README.md +0 -11
  295. package/docs/core/objects/pdf-start-xref/classes/PdfStartXRef.md +0 -265
  296. package/docs/core/objects/pdf-stream/README.md +0 -23
  297. package/docs/core/objects/pdf-stream/classes/PdfObjStream.md +0 -699
  298. package/docs/core/objects/pdf-stream/classes/PdfStream.md +0 -570
  299. package/docs/core/objects/pdf-stream/classes/PdfXRefStream.md +0 -723
  300. package/docs/core/objects/pdf-stream/classes/PdfXRefStreamCompressedEntry.md +0 -51
  301. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamEntry.md +0 -9
  302. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamStandardEntry.md +0 -9
  303. package/docs/core/objects/pdf-stream/variables/PdfXRefStreamStandardEntry.md +0 -9
  304. package/docs/core/objects/pdf-string/README.md +0 -11
  305. package/docs/core/objects/pdf-string/classes/PdfString.md +0 -301
  306. package/docs/core/objects/pdf-trailer/README.md +0 -16
  307. package/docs/core/objects/pdf-trailer/classes/PdfTrailer.md +0 -271
  308. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerDictionary.md +0 -9
  309. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerEntries.md +0 -51
  310. package/docs/core/objects/pdf-xref-table/README.md +0 -13
  311. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTable.md +0 -331
  312. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableEntry.md +0 -297
  313. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableSectionHeader.md +0 -277
  314. package/docs/core/parser/README.md +0 -11
  315. package/docs/core/parser/classes/Parser.md +0 -74
  316. package/docs/core/ref/README.md +0 -15
  317. package/docs/core/ref/classes/Ref.md +0 -149
  318. package/docs/core/ref/type-aliases/RefUpdateCallback.md +0 -33
  319. package/docs/core/serializer/README.md +0 -11
  320. package/docs/core/serializer/classes/PdfTokenSerializer.md +0 -106
  321. package/docs/core/streams/object-stream/README.md +0 -11
  322. package/docs/core/streams/object-stream/classes/PdfObjectStream.md +0 -69
  323. package/docs/core/tokeniser/README.md +0 -21
  324. package/docs/core/tokeniser/classes/PdfByteStreamTokeniser.md +0 -366
  325. package/docs/core/tokeniser/classes/PdfObjectTokeniser.md +0 -69
  326. package/docs/core/tokeniser/functions/objectToTokens.md +0 -25
  327. package/docs/core/tokeniser/functions/pdfObjectStreamTokeniser.md +0 -27
  328. package/docs/core/tokeniser/type-aliases/PdfTokeniser.md +0 -11
  329. package/docs/core/tokens/boolean-token/README.md +0 -11
  330. package/docs/core/tokens/boolean-token/classes/PdfBooleanToken.md +0 -139
  331. package/docs/core/tokens/byte-offset-token/README.md +0 -11
  332. package/docs/core/tokens/byte-offset-token/classes/PdfByteOffsetToken.md +0 -153
  333. package/docs/core/tokens/comment-token/README.md +0 -11
  334. package/docs/core/tokens/comment-token/classes/PdfCommentToken.md +0 -161
  335. package/docs/core/tokens/end-array-token/README.md +0 -11
  336. package/docs/core/tokens/end-array-token/classes/PdfEndArrayToken.md +0 -115
  337. package/docs/core/tokens/end-dictionary-token/README.md +0 -11
  338. package/docs/core/tokens/end-dictionary-token/classes/PdfEndDictionaryToken.md +0 -115
  339. package/docs/core/tokens/end-object-token/README.md +0 -11
  340. package/docs/core/tokens/end-object-token/classes/PdfEndObjectToken.md +0 -115
  341. package/docs/core/tokens/end-stream-token/README.md +0 -11
  342. package/docs/core/tokens/end-stream-token/classes/PdfEndStreamToken.md +0 -121
  343. package/docs/core/tokens/hexadecimal-token/README.md +0 -11
  344. package/docs/core/tokens/hexadecimal-token/classes/PdfHexadecimalToken.md +0 -127
  345. package/docs/core/tokens/name-token/README.md +0 -11
  346. package/docs/core/tokens/name-token/classes/PdfNameToken.md +0 -127
  347. package/docs/core/tokens/null-token/README.md +0 -11
  348. package/docs/core/tokens/null-token/classes/PdfNullToken.md +0 -115
  349. package/docs/core/tokens/number-token/README.md +0 -11
  350. package/docs/core/tokens/number-token/classes/PdfNumberToken.md +0 -271
  351. package/docs/core/tokens/object-reference-token/README.md +0 -11
  352. package/docs/core/tokens/object-reference-token/classes/PdfObjectReferenceToken.md +0 -137
  353. package/docs/core/tokens/start-array-token/README.md +0 -11
  354. package/docs/core/tokens/start-array-token/classes/PdfStartArrayToken.md +0 -115
  355. package/docs/core/tokens/start-dictionary-token/README.md +0 -11
  356. package/docs/core/tokens/start-dictionary-token/classes/PdfStartDictionaryToken.md +0 -115
  357. package/docs/core/tokens/start-object-token/README.md +0 -11
  358. package/docs/core/tokens/start-object-token/classes/PdfStartObjectToken.md +0 -147
  359. package/docs/core/tokens/start-stream-token/README.md +0 -11
  360. package/docs/core/tokens/start-stream-token/classes/PdfStartStreamToken.md +0 -147
  361. package/docs/core/tokens/start-xref-token/README.md +0 -11
  362. package/docs/core/tokens/start-xref-token/classes/PdfStartXRefToken.md +0 -115
  363. package/docs/core/tokens/stream-chunk-token/README.md +0 -11
  364. package/docs/core/tokens/stream-chunk-token/classes/PdfStreamChunkToken.md +0 -121
  365. package/docs/core/tokens/string-token/README.md +0 -11
  366. package/docs/core/tokens/string-token/classes/PdfStringToken.md +0 -127
  367. package/docs/core/tokens/token/README.md +0 -11
  368. package/docs/core/tokens/token/classes/PdfToken.md +0 -116
  369. package/docs/core/tokens/trailer-token/README.md +0 -11
  370. package/docs/core/tokens/trailer-token/classes/PdfTrailerToken.md +0 -127
  371. package/docs/core/tokens/whitespace-token/README.md +0 -11
  372. package/docs/core/tokens/whitespace-token/classes/PdfWhitespaceToken.md +0 -161
  373. package/docs/core/tokens/xref-table-entry-token/README.md +0 -11
  374. package/docs/core/tokens/xref-table-entry-token/classes/PdfXRefTableEntryToken.md +0 -157
  375. package/docs/core/tokens/xref-table-section-start-token/README.md +0 -11
  376. package/docs/core/tokens/xref-table-section-start-token/classes/PdfXRefTableSectionStartToken.md +0 -137
  377. package/docs/core/tokens/xref-table-start-token/README.md +0 -11
  378. package/docs/core/tokens/xref-table-start-token/classes/PdfXRefTableStartToken.md +0 -127
  379. package/docs/crypto/ciphers/aes128/README.md +0 -11
  380. package/docs/crypto/ciphers/aes128/functions/aes128.md +0 -39
  381. package/docs/crypto/ciphers/aes256/README.md +0 -11
  382. package/docs/crypto/ciphers/aes256/functions/aes256.md +0 -35
  383. package/docs/crypto/ciphers/rc4/README.md +0 -11
  384. package/docs/crypto/ciphers/rc4/functions/rc4.md +0 -35
  385. package/docs/crypto/constants/README.md +0 -11
  386. package/docs/crypto/constants/variables/DEFAULT_PADDING.md +0 -13
  387. package/docs/crypto/key-derivation/key-derivation/README.md +0 -13
  388. package/docs/crypto/key-derivation/key-derivation/functions/computeMasterKey.md +0 -57
  389. package/docs/crypto/key-derivation/key-derivation/functions/deriveObjectKey.md +0 -50
  390. package/docs/crypto/key-derivation/key-derivation/functions/padPassword.md +0 -33
  391. package/docs/crypto/key-derivation/key-derivation-aes256/README.md +0 -13
  392. package/docs/crypto/key-derivation/key-derivation-aes256/functions/computeAlgorithm2bHash.md +0 -45
  393. package/docs/crypto/key-derivation/key-derivation-aes256/functions/getFileKey.md +0 -66
  394. package/docs/crypto/key-derivation/key-derivation-aes256/functions/validatePasswordHash.md +0 -52
  395. package/docs/crypto/key-gen/key-gen-aes256/README.md +0 -12
  396. package/docs/crypto/key-gen/key-gen-aes256/functions/generateOandOe.md +0 -44
  397. package/docs/crypto/key-gen/key-gen-aes256/functions/generateUandUe.md +0 -38
  398. package/docs/crypto/key-gen/key-gen-rc4-128/README.md +0 -13
  399. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeOValueRc4_128.md +0 -38
  400. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeUValueRc4_128.md +0 -62
  401. package/docs/crypto/key-gen/key-gen-rc4-128/functions/decryptUserPasswordRc4_128.md +0 -38
  402. package/docs/crypto/key-gen/key-gen-rc4-40/README.md +0 -14
  403. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeEncryptionKeyRc4_40.md +0 -49
  404. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeORc4_40.md +0 -38
  405. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeURc4_40.md +0 -50
  406. package/docs/crypto/key-gen/key-gen-rc4-40/functions/decryptUserPasswordRc4_40.md +0 -38
  407. package/docs/crypto/types/README.md +0 -11
  408. package/docs/crypto/types/interfaces/Cipher.md +0 -39
  409. package/docs/crypto/utils/README.md +0 -13
  410. package/docs/crypto/utils/functions/int32ToLittleEndianBytes.md +0 -31
  411. package/docs/crypto/utils/functions/padPassword.md +0 -33
  412. package/docs/crypto/utils/functions/removePdfPasswordPadding.md +0 -32
  413. package/docs/filters/ascii85/README.md +0 -11
  414. package/docs/filters/ascii85/functions/ascii85.md +0 -27
  415. package/docs/filters/asciihex/README.md +0 -11
  416. package/docs/filters/asciihex/functions/asciiHex.md +0 -27
  417. package/docs/filters/flate/README.md +0 -11
  418. package/docs/filters/flate/functions/flate.md +0 -26
  419. package/docs/filters/lzw/README.md +0 -11
  420. package/docs/filters/lzw/functions/lzw.md +0 -27
  421. package/docs/filters/pass-through/README.md +0 -11
  422. package/docs/filters/pass-through/functions/passthroughFilter.md +0 -25
  423. package/docs/filters/runlength/README.md +0 -11
  424. package/docs/filters/runlength/functions/runLength.md +0 -27
  425. package/docs/filters/types/README.md +0 -19
  426. package/docs/filters/types/interfaces/PdfFilter.md +0 -39
  427. package/docs/filters/types/type-aliases/PdfStreamFilterType.md +0 -9
  428. package/docs/filters/types/variables/PDF_FILTER_TYPES.md +0 -51
  429. package/docs/index/README.md +0 -235
  430. package/docs/pdf/README.md +0 -31
  431. package/docs/pdf/errors/README.md +0 -11
  432. package/docs/pdf/errors/classes/FoundCompressedObjectError.md +0 -56
  433. package/docs/pdf/pdf-document/README.md +0 -11
  434. package/docs/pdf/pdf-document/classes/PdfDocument.md +0 -876
  435. package/docs/pdf/pdf-reader/README.md +0 -11
  436. package/docs/pdf/pdf-reader/classes/PdfReader.md +0 -82
  437. package/docs/pdf/pdf-revision/README.md +0 -11
  438. package/docs/pdf/pdf-revision/classes/PdfRevision.md +0 -508
  439. package/docs/pdf/pdf-xref-lookup/README.md +0 -11
  440. package/docs/pdf/pdf-xref-lookup/classes/PdfXrefLookup.md +0 -421
  441. package/docs/security/crypt-filters/aesv2/README.md +0 -11
  442. package/docs/security/crypt-filters/aesv2/classes/AesV2CryptFilter.md +0 -274
  443. package/docs/security/crypt-filters/aesv3/README.md +0 -11
  444. package/docs/security/crypt-filters/aesv3/classes/AesV3CryptFilter.md +0 -275
  445. package/docs/security/crypt-filters/base/README.md +0 -15
  446. package/docs/security/crypt-filters/base/classes/PdfCryptFilter.md +0 -221
  447. package/docs/security/crypt-filters/base/type-aliases/CryptFilterOptions.md +0 -43
  448. package/docs/security/crypt-filters/identity/README.md +0 -11
  449. package/docs/security/crypt-filters/identity/classes/IdentityCryptFilter.md +0 -249
  450. package/docs/security/crypt-filters/v2/README.md +0 -11
  451. package/docs/security/crypt-filters/v2/classes/V2CryptFilter.md +0 -279
  452. package/docs/security/handlers/base/README.md +0 -17
  453. package/docs/security/handlers/base/classes/PdfSecurityHandler.md +0 -384
  454. package/docs/security/handlers/base/classes/PdfStandardSecurityHandler.md +0 -694
  455. package/docs/security/handlers/base/type-aliases/PdfSecurityHandlerOptions.md +0 -27
  456. package/docs/security/handlers/base/type-aliases/PdfStandardSecurityHandlerOptions.md +0 -43
  457. package/docs/security/handlers/pubSec/README.md +0 -11
  458. package/docs/security/handlers/pubSec/classes/PdfPublicKeySecurityHandler.md +0 -503
  459. package/docs/security/handlers/utils/README.md +0 -14
  460. package/docs/security/handlers/utils/functions/createFromDictionary.md +0 -56
  461. package/docs/security/handlers/utils/functions/createFromEncryptionOptions.md +0 -40
  462. package/docs/security/handlers/utils/functions/createStandardSecurityHandlerFromDictionary.md +0 -55
  463. package/docs/security/handlers/utils/functions/getCryptFilter.md +0 -35
  464. package/docs/security/handlers/v1/README.md +0 -11
  465. package/docs/security/handlers/v1/classes/PdfV1SecurityHandler.md +0 -779
  466. package/docs/security/handlers/v2/README.md +0 -11
  467. package/docs/security/handlers/v2/classes/PdfV2SecurityHandler.md +0 -783
  468. package/docs/security/handlers/v4/README.md +0 -11
  469. package/docs/security/handlers/v4/classes/PdfV4SecurityHandler.md +0 -907
  470. package/docs/security/handlers/v5/README.md +0 -11
  471. package/docs/security/handlers/v5/classes/PdfV5SecurityHandler.md +0 -926
  472. package/docs/security/types/README.md +0 -19
  473. package/docs/security/types/type-aliases/CryptFilterType.md +0 -15
  474. package/docs/security/types/type-aliases/PdfCryptFilterDictionary.md +0 -12
  475. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmOptions.md +0 -11
  476. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmType.md +0 -17
  477. package/docs/security/types/type-aliases/PdfEncryptionDictionary.md +0 -13
  478. package/docs/security/types/type-aliases/PdfEncryptionDictionaryObject.md +0 -11
  479. package/docs/security/types/type-aliases/PdfEncryptionOptions.md +0 -90
  480. package/docs/security/types/type-aliases/PdfEncryptionRecipient.md +0 -24
  481. package/docs/security/types/type-aliases/PdfId.md +0 -13
  482. package/docs/signing/README.md +0 -127
  483. package/docs/signing/document-security-store/README.md +0 -19
  484. package/docs/signing/document-security-store/classes/PdfCertObject.md +0 -443
  485. package/docs/signing/document-security-store/classes/PdfCrlObject.md +0 -443
  486. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreDictionary.md +0 -416
  487. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreObject.md +0 -563
  488. package/docs/signing/document-security-store/classes/PdfOcspObject.md +0 -443
  489. package/docs/signing/document-security-store/type-aliases/PdfVriObject.md +0 -12
  490. package/docs/signing/signatures/README.md +0 -55
  491. package/docs/signing/signatures/adbe-pkcs7-detached/README.md +0 -11
  492. package/docs/signing/signatures/adbe-pkcs7-detached/classes/PdfAdbePkcs7DetachedSignatureObject.md +0 -669
  493. package/docs/signing/signatures/adbe-pkcs7-sha1/README.md +0 -11
  494. package/docs/signing/signatures/adbe-pkcs7-sha1/classes/PdfAdbePkcs7Sha1SignatureObject.md +0 -667
  495. package/docs/signing/signatures/adbe-x509-rsa-sha1/README.md +0 -11
  496. package/docs/signing/signatures/adbe-x509-rsa-sha1/classes/PdfAdbePkcsX509RsaSha1SignatureObject.md +0 -651
  497. package/docs/signing/signatures/base/README.md +0 -16
  498. package/docs/signing/signatures/base/classes/PdfSignatureDictionary.md +0 -420
  499. package/docs/signing/signatures/base/classes/PdfSignatureObject.md +0 -584
  500. package/docs/signing/signatures/base/type-aliases/PdfSignatureSignOptions.md +0 -51
  501. package/docs/signing/signatures/etsi-cades-detached/README.md +0 -11
  502. package/docs/signing/signatures/etsi-cades-detached/classes/PdfEtsiCadesDetachedSignatureObject.md +0 -693
  503. package/docs/signing/signatures/etsi-rfc3161/README.md +0 -11
  504. package/docs/signing/signatures/etsi-rfc3161/classes/PdfEtsiRfc3161SignatureObject.md +0 -614
  505. package/docs/signing/signer/README.md +0 -11
  506. package/docs/signing/signer/classes/PdfSigner.md +0 -58
  507. package/docs/signing/types/README.md +0 -16
  508. package/docs/signing/types/type-aliases/PdfSignatureDictionaryEntries.md +0 -95
  509. package/docs/signing/types/type-aliases/PdfSignatureSubType.md +0 -17
  510. package/docs/signing/types/type-aliases/PdfSignatureType.md +0 -14
  511. package/docs/signing/types/type-aliases/RevocationInfo.md +0 -43
  512. package/docs/signing/types/type-aliases/SignaturePolicyDocument.md +0 -35
  513. package/docs/signing/types/type-aliases/TimeStampAuthority.md +0 -35
  514. package/docs/signing/utils/README.md +0 -11
  515. package/docs/signing/utils/functions/fetchRevocationInfo.md +0 -70
  516. package/docs/types/README.md +0 -21
  517. package/docs/types/type-aliases/ByteArray.md +0 -9
  518. package/docs/types/type-aliases/ChangeType.md +0 -9
  519. package/docs/types/type-aliases/DecodeParms.md +0 -33
  520. package/docs/types/type-aliases/HashAlgorithm.md +0 -9
  521. package/docs/types/type-aliases/PdfEncryptionAlgorithm.md +0 -9
  522. package/docs/types/type-aliases/PdfPermissions.md +0 -63
  523. package/docs/types/type-aliases/PdfVersion.md +0 -9
  524. package/docs/types/variables/PERMISSION_FLAGS.md +0 -9
  525. package/docs/utils/IterableReadableStream/README.md +0 -11
  526. package/docs/utils/IterableReadableStream/classes/IterableReadableStream.md +0 -103
  527. package/docs/utils/algos/README.md +0 -28
  528. package/docs/utils/algos/functions/aes128CbcNoPaddingEncrypt.md +0 -43
  529. package/docs/utils/algos/functions/aes128cbcDecrypt.md +0 -47
  530. package/docs/utils/algos/functions/aes128cbcEncrypt.md +0 -47
  531. package/docs/utils/algos/functions/aes256CbcNoPaddingDecrypt.md +0 -43
  532. package/docs/utils/algos/functions/aes256CbcNoPaddingEncrypt.md +0 -43
  533. package/docs/utils/algos/functions/aes256cbcDecrypt.md +0 -43
  534. package/docs/utils/algos/functions/aes256cbcEncrypt.md +0 -43
  535. package/docs/utils/algos/functions/aes256ecbDecrypt.md +0 -41
  536. package/docs/utils/algos/functions/aes256ecbEncrypt.md +0 -41
  537. package/docs/utils/algos/functions/deflateData.md +0 -31
  538. package/docs/utils/algos/functions/getRandomBytes.md +0 -35
  539. package/docs/utils/algos/functions/hash.md +0 -41
  540. package/docs/utils/algos/functions/inflateData.md +0 -35
  541. package/docs/utils/algos/functions/md5.md +0 -31
  542. package/docs/utils/algos/functions/sha1.md +0 -31
  543. package/docs/utils/algos/functions/sha256.md +0 -31
  544. package/docs/utils/algos/functions/sha384.md +0 -31
  545. package/docs/utils/algos/functions/sha512.md +0 -31
  546. package/docs/utils/assert/README.md +0 -12
  547. package/docs/utils/assert/functions/assert.md +0 -39
  548. package/docs/utils/assert/functions/assertIfDefined.md +0 -46
  549. package/docs/utils/bytesToHex/README.md +0 -11
  550. package/docs/utils/bytesToHex/functions/bytesToHex.md +0 -31
  551. package/docs/utils/bytesToHexBytes/README.md +0 -11
  552. package/docs/utils/bytesToHexBytes/functions/bytesToHexBytes.md +0 -32
  553. package/docs/utils/bytesToString/README.md +0 -11
  554. package/docs/utils/bytesToString/functions/bytesToString.md +0 -31
  555. package/docs/utils/concatUint8Arrays/README.md +0 -11
  556. package/docs/utils/concatUint8Arrays/functions/concatUint8Arrays.md +0 -31
  557. package/docs/utils/escapeString/README.md +0 -11
  558. package/docs/utils/escapeString/functions/escapeString.md +0 -32
  559. package/docs/utils/hexBytesToBytes/README.md +0 -11
  560. package/docs/utils/hexBytesToBytes/functions/hexBytesToBytes.md +0 -33
  561. package/docs/utils/hexBytesToString/README.md +0 -11
  562. package/docs/utils/hexBytesToString/functions/hexBytesToString.md +0 -31
  563. package/docs/utils/hexToBytes/README.md +0 -11
  564. package/docs/utils/hexToBytes/functions/hexToBytes.md +0 -31
  565. package/docs/utils/padBytes/README.md +0 -11
  566. package/docs/utils/padBytes/functions/padBytes.md +0 -41
  567. package/docs/utils/predictors/README.md +0 -11
  568. package/docs/utils/predictors/classes/Predictor.md +0 -306
  569. package/docs/utils/replaceInBuffer/README.md +0 -11
  570. package/docs/utils/replaceInBuffer/functions/replaceInBuffer.md +0 -65
  571. package/docs/utils/stringToBytes/README.md +0 -11
  572. package/docs/utils/stringToBytes/functions/stringToBytes.md +0 -32
  573. package/docs/utils/stringToHexBytes/README.md +0 -11
  574. package/docs/utils/stringToHexBytes/functions/stringToHexBytes.md +0 -33
  575. package/docs/utils/unescapeString/README.md +0 -11
  576. package/docs/utils/unescapeString/functions/unescapeString.md +0 -34
  577. package/examples/001-create-pdf.ts +0 -112
  578. package/examples/002-create-encrypted-pdf.ts +0 -121
  579. package/examples/003-sign-pdf.ts +0 -347
  580. package/examples/004-incremental-update.ts +0 -206
  581. package/examples/005-modify-acroform.ts +0 -374
  582. package/examples/006-tokeniser-example.ts +0 -131
  583. package/examples/007-decoder-example.ts +0 -197
  584. package/packages/pdf-lite/README.md +0 -3
  585. package/packages/pdf-lite/node_modules/.bin/playwright +0 -16
  586. package/packages/pdf-lite/node_modules/.bin/tsc +0 -16
  587. package/packages/pdf-lite/node_modules/.bin/tsserver +0 -16
  588. package/packages/pdf-lite/node_modules/.bin/vitest +0 -16
  589. package/packages/pdf-lite/package.json +0 -68
  590. package/packages/pdf-lite/scripts/create-encryption-tests.sh +0 -41
  591. package/packages/pdf-lite/scripts/gen-signing-keys.sh +0 -290
  592. package/packages/pdf-lite/scripts/generate-all-signing-keys.sh +0 -70
  593. package/packages/pdf-lite/src/core/decoder.ts +0 -454
  594. package/packages/pdf-lite/src/core/index.ts +0 -2
  595. package/packages/pdf-lite/src/core/objects/pdf-array.ts +0 -54
  596. package/packages/pdf-lite/src/core/objects/pdf-boolean.ts +0 -19
  597. package/packages/pdf-lite/src/core/objects/pdf-comment.ts +0 -50
  598. package/packages/pdf-lite/src/core/objects/pdf-date.ts +0 -74
  599. package/packages/pdf-lite/src/core/objects/pdf-dictionary.ts +0 -171
  600. package/packages/pdf-lite/src/core/objects/pdf-hexadecimal.ts +0 -54
  601. package/packages/pdf-lite/src/core/objects/pdf-indirect-object.ts +0 -137
  602. package/packages/pdf-lite/src/core/objects/pdf-name.ts +0 -19
  603. package/packages/pdf-lite/src/core/objects/pdf-null.ts +0 -15
  604. package/packages/pdf-lite/src/core/objects/pdf-number.ts +0 -98
  605. package/packages/pdf-lite/src/core/objects/pdf-object-reference.ts +0 -30
  606. package/packages/pdf-lite/src/core/objects/pdf-object.ts +0 -107
  607. package/packages/pdf-lite/src/core/objects/pdf-start-xref.ts +0 -39
  608. package/packages/pdf-lite/src/core/objects/pdf-stream.ts +0 -687
  609. package/packages/pdf-lite/src/core/objects/pdf-string.ts +0 -38
  610. package/packages/pdf-lite/src/core/objects/pdf-trailer.ts +0 -57
  611. package/packages/pdf-lite/src/core/objects/pdf-xref-table.ts +0 -264
  612. package/packages/pdf-lite/src/core/streams/object-stream.ts +0 -20
  613. package/packages/pdf-lite/src/core/tokeniser.ts +0 -687
  614. package/packages/pdf-lite/src/core/tokens/boolean-token.ts +0 -20
  615. package/packages/pdf-lite/src/core/tokens/byte-offset-token.ts +0 -20
  616. package/packages/pdf-lite/src/core/tokens/comment-token.ts +0 -32
  617. package/packages/pdf-lite/src/core/tokens/end-array-token.ts +0 -10
  618. package/packages/pdf-lite/src/core/tokens/end-dictionary-token.ts +0 -10
  619. package/packages/pdf-lite/src/core/tokens/end-object-token.ts +0 -10
  620. package/packages/pdf-lite/src/core/tokens/end-stream-token.ts +0 -11
  621. package/packages/pdf-lite/src/core/tokens/hexadecimal-token.ts +0 -22
  622. package/packages/pdf-lite/src/core/tokens/name-token.ts +0 -19
  623. package/packages/pdf-lite/src/core/tokens/null-token.ts +0 -9
  624. package/packages/pdf-lite/src/core/tokens/number-token.ts +0 -164
  625. package/packages/pdf-lite/src/core/tokens/object-reference-token.ts +0 -24
  626. package/packages/pdf-lite/src/core/tokens/start-array-token.ts +0 -10
  627. package/packages/pdf-lite/src/core/tokens/start-dictionary-token.ts +0 -10
  628. package/packages/pdf-lite/src/core/tokens/start-object-token.ts +0 -28
  629. package/packages/pdf-lite/src/core/tokens/start-stream-token.ts +0 -52
  630. package/packages/pdf-lite/src/core/tokens/start-xref-token.ts +0 -10
  631. package/packages/pdf-lite/src/core/tokens/stream-chunk-token.ts +0 -8
  632. package/packages/pdf-lite/src/core/tokens/string-token.ts +0 -17
  633. package/packages/pdf-lite/src/core/tokens/token.ts +0 -43
  634. package/packages/pdf-lite/src/core/tokens/trailer-token.ts +0 -12
  635. package/packages/pdf-lite/src/core/tokens/whitespace-token.ts +0 -43
  636. package/packages/pdf-lite/src/core/tokens/xref-table-entry-token.ts +0 -65
  637. package/packages/pdf-lite/src/core/tokens/xref-table-section-start-token.ts +0 -31
  638. package/packages/pdf-lite/src/core/tokens/xref-table-start-token.ts +0 -13
  639. package/packages/pdf-lite/src/crypto/key-derivation/key-derivation-aes256.ts +0 -213
  640. package/packages/pdf-lite/src/crypto/types.ts +0 -6
  641. package/packages/pdf-lite/src/filters/lzw.ts +0 -144
  642. package/packages/pdf-lite/src/index.ts +0 -4
  643. package/packages/pdf-lite/src/pdf/index.ts +0 -4
  644. package/packages/pdf-lite/src/pdf/pdf-xref-lookup.ts +0 -527
  645. package/packages/pdf-lite/src/security/handlers/base.ts +0 -625
  646. package/packages/pdf-lite/src/security/handlers/pubSec.ts +0 -413
  647. package/packages/pdf-lite/src/security/handlers/utils.ts +0 -304
  648. package/packages/pdf-lite/src/security/handlers/v1.ts +0 -225
  649. package/packages/pdf-lite/src/security/handlers/v4.ts +0 -379
  650. package/packages/pdf-lite/src/security/handlers/v5.ts +0 -298
  651. package/packages/pdf-lite/src/signing/document-security-store.ts +0 -224
  652. package/packages/pdf-lite/src/signing/index.ts +0 -3
  653. package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-detached.ts +0 -154
  654. package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-sha1.ts +0 -161
  655. package/packages/pdf-lite/src/signing/signatures/adbe-x509-rsa-sha1.ts +0 -106
  656. package/packages/pdf-lite/src/signing/signatures/base.ts +0 -229
  657. package/packages/pdf-lite/src/signing/signatures/etsi-cades-detached.ts +0 -229
  658. package/packages/pdf-lite/src/signing/signatures/index.ts +0 -6
  659. package/packages/pdf-lite/src/signing/signer.ts +0 -120
  660. package/packages/pdf-lite/src/types.ts +0 -44
  661. package/packages/pdf-lite/src/utils/escapeString.ts +0 -49
  662. package/packages/pdf-lite/src/utils/unescapeString.ts +0 -123
  663. package/packages/pdf-lite/test/acceptance/__snapshots__/versions.node.test.ts.snap +0 -60766
  664. package/packages/pdf-lite/test/acceptance/fixtures/1.3/basic.pdf +0 -0
  665. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-128.pdf +0 -0
  666. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-256.pdf +0 -0
  667. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-128.pdf +0 -0
  668. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-40.pdf +0 -0
  669. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic.pdf +0 -0
  670. package/packages/pdf-lite/test/acceptance/fixtures/1.5/basic.pdf +0 -0
  671. package/packages/pdf-lite/test/acceptance/fixtures/1.6/basic.pdf +0 -0
  672. package/packages/pdf-lite/test/acceptance/fixtures/1.7/basic.pdf +0 -0
  673. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-128.pdf +0 -43
  674. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-256.pdf +0 -43
  675. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-128.pdf +0 -43
  676. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-40.pdf +0 -44
  677. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic.pdf +0 -79
  678. package/packages/pdf-lite/test/acceptance/versions.node.test.ts +0 -41
  679. package/packages/pdf-lite/test/unit/__snapshots__/decoder.node.test.ts.snap +0 -86947
  680. package/packages/pdf-lite/test/unit/__snapshots__/tokeniser.node.test.ts.snap +0 -131829
  681. package/packages/pdf-lite/test/unit/ciphers.test.ts +0 -61
  682. package/packages/pdf-lite/test/unit/decoder.node.test.ts +0 -21
  683. package/packages/pdf-lite/test/unit/decoder.test.ts +0 -567
  684. package/packages/pdf-lite/test/unit/filters.test.ts +0 -67
  685. package/packages/pdf-lite/test/unit/fixtures/basic.pdf +0 -0
  686. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-128.pdf +0 -0
  687. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-256.pdf +0 -0
  688. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-128.pdf +0 -0
  689. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-40.pdf +0 -43
  690. package/packages/pdf-lite/test/unit/fixtures/protectedAdobeLivecycle.pdf +0 -0
  691. package/packages/pdf-lite/test/unit/fixtures/rsa-2048/index.ts +0 -187
  692. package/packages/pdf-lite/test/unit/fixtures/template.pdf +0 -0
  693. package/packages/pdf-lite/test/unit/incremental-update.test.ts +0 -0
  694. package/packages/pdf-lite/test/unit/objects.test.ts +0 -0
  695. package/packages/pdf-lite/test/unit/pdf-document-signing.test.ts +0 -0
  696. package/packages/pdf-lite/test/unit/pdf-revision.test.ts +0 -195
  697. package/packages/pdf-lite/test/unit/pdf.browser.test.ts +0 -0
  698. package/packages/pdf-lite/test/unit/predictors.test.ts +0 -226
  699. package/packages/pdf-lite/test/unit/ref.test.ts +0 -158
  700. package/packages/pdf-lite/test/unit/security-handlers.test.ts +0 -645
  701. package/packages/pdf-lite/test/unit/serializer.test.ts +0 -81
  702. package/packages/pdf-lite/test/unit/signature-objects.test.ts +0 -814
  703. package/packages/pdf-lite/test/unit/string-escaping.test.ts +0 -84
  704. package/packages/pdf-lite/test/unit/tokeniser.node.test.ts +0 -38
  705. package/packages/pdf-lite/test/unit/tokeniser.test.ts +0 -1213
  706. package/packages/pdf-lite/test/unit/utils.test.ts +0 -248
  707. package/packages/pdf-lite/test/unit/xref-lookup.test.ts +0 -72
  708. package/packages/pdf-lite/tsconfig.json +0 -4
  709. package/packages/pdf-lite/tsconfig.prod.json +0 -8
  710. package/packages/pdf-lite/typedoc.json +0 -14
  711. package/packages/pdf-lite/vitest.config.ts +0 -43
  712. package/pnpm-workspace.yaml +0 -2
  713. package/renovate.json +0 -34
  714. package/scripts/build-examples.ts +0 -30
  715. package/scripts/bump-version.sh +0 -56
  716. package/scripts/gen-html-docs.sh +0 -21
  717. package/scripts/gen-md-docs.sh +0 -15
  718. package/scripts/prepare-release.sh +0 -33
  719. package/tsconfig.json +0 -22
  720. package/tsconfig.prod.json +0 -12
  721. package/typedoc.json +0 -34
@@ -0,0 +1,156 @@
1
+ import { PdfArray } from '../core/objects/pdf-array';
2
+ import { PdfDictionary } from '../core/objects/pdf-dictionary';
3
+ import { PdfIndirectObject } from '../core/objects/pdf-indirect-object';
4
+ import { PdfStream } from '../core/objects/pdf-stream';
5
+ /**
6
+ * Indirect object containing a certificate stream.
7
+ */
8
+ export class PdfCertObject extends PdfIndirectObject {
9
+ }
10
+ /**
11
+ * Indirect object containing a CRL stream.
12
+ */
13
+ export class PdfCrlObject extends PdfIndirectObject {
14
+ }
15
+ /**
16
+ * Indirect object containing an OCSP response stream.
17
+ */
18
+ export class PdfOcspObject extends PdfIndirectObject {
19
+ }
20
+ /**
21
+ * Dictionary for the Document Security Store (DSS).
22
+ * Contains arrays of certificates, CRLs, OCSPs, and VRI entries.
23
+ */
24
+ export class PdfDocumentSecurityStoreDictionary extends PdfDictionary {
25
+ }
26
+ /**
27
+ * Document Security Store (DSS) object for PAdES LTV signatures.
28
+ * Stores validation data (certificates, CRLs, OCSPs) for long-term validation.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const dss = new PdfDocumentSecurityStoreObject(document)
33
+ * await dss.addCert(certificateBytes)
34
+ * await dss.addCrl(crlBytes)
35
+ * await dss.addOcsp(ocspBytes)
36
+ * ```
37
+ */
38
+ export class PdfDocumentSecurityStoreObject extends PdfIndirectObject {
39
+ /** Reference to the parent document. */
40
+ document;
41
+ /**
42
+ * Creates a new DSS object.
43
+ *
44
+ * @param document - The parent PDF document.
45
+ * @param content - Optional pre-existing DSS dictionary.
46
+ */
47
+ constructor(document, content) {
48
+ super(content ?? new PdfDocumentSecurityStoreDictionary());
49
+ this.document = document;
50
+ }
51
+ /**
52
+ * Adds an OCSP response to the DSS, avoiding duplicates.
53
+ *
54
+ * @param ocsp - The DER-encoded OCSP response.
55
+ * @returns The created or existing OCSP object.
56
+ */
57
+ async addOcsp(ocsp) {
58
+ const newOcsp = new PdfStream(ocsp);
59
+ let ocspArray = this.content.get('OCSPs');
60
+ const currentOcsps = (await Promise.all((ocspArray?.items ?? []).map(async (ref) => {
61
+ const obj = await this.document.readObject(ref);
62
+ return obj;
63
+ })));
64
+ for (const existingOcsp of currentOcsps) {
65
+ if (existingOcsp.content.equals(newOcsp)) {
66
+ return existingOcsp;
67
+ }
68
+ }
69
+ const ocspObject = new PdfOcspObject(newOcsp);
70
+ this.document.add(ocspObject);
71
+ if (!ocspArray) {
72
+ ocspArray = new PdfArray([]);
73
+ this.content.set('OCSPs', ocspArray);
74
+ }
75
+ ocspArray.items.push(ocspObject.reference);
76
+ return ocspObject;
77
+ }
78
+ /**
79
+ * Adds a CRL to the DSS, avoiding duplicates.
80
+ *
81
+ * @param crl - The DER-encoded CRL.
82
+ * @returns The created or existing CRL object.
83
+ */
84
+ async addCrl(crl) {
85
+ let crlArray = this.content.get('CRLs');
86
+ const currentCrls = (await Promise.all((crlArray?.items ?? []).map(async (ref) => {
87
+ const obj = await this.document.readObject(ref);
88
+ return obj;
89
+ })));
90
+ for (const existingCrl of currentCrls) {
91
+ if (existingCrl.content.equals(new PdfStream(crl))) {
92
+ return existingCrl;
93
+ }
94
+ }
95
+ const crlObject = new PdfCrlObject(new PdfStream(crl));
96
+ this.document.add(crlObject);
97
+ if (!crlArray) {
98
+ crlArray = new PdfArray([]);
99
+ this.content.set('CRLs', crlArray);
100
+ }
101
+ crlArray.items.push(crlObject.reference);
102
+ return crlObject;
103
+ }
104
+ /**
105
+ * Adds a certificate to the DSS, avoiding duplicates.
106
+ *
107
+ * @param cert - The DER-encoded certificate.
108
+ * @returns The created or existing certificate object.
109
+ */
110
+ async addCert(cert) {
111
+ let certArray = this.content.get('Certs');
112
+ const currentCerts = (await Promise.all((certArray?.items ?? []).map(async (ref) => {
113
+ const obj = await this.document.readObject(ref);
114
+ return obj;
115
+ })));
116
+ for (const existingCert of currentCerts) {
117
+ if (existingCert.content.equals(new PdfStream(cert))) {
118
+ return existingCert;
119
+ }
120
+ }
121
+ const certObject = new PdfCertObject(new PdfStream(cert));
122
+ this.document.add(certObject);
123
+ if (!certArray) {
124
+ certArray = new PdfArray([]);
125
+ this.content.set('Certs', certArray);
126
+ }
127
+ certArray.items.push(certObject.reference);
128
+ return certObject;
129
+ }
130
+ /**
131
+ * Adds revocation information (CRLs and OCSPs) to the DSS.
132
+ *
133
+ * @param revocationInfo - The revocation information to add.
134
+ */
135
+ async addRevocationInfo(revocationInfo) {
136
+ for (const ocsp of revocationInfo.ocsps ?? []) {
137
+ await this.addOcsp(ocsp);
138
+ }
139
+ for (const crl of revocationInfo.crls ?? []) {
140
+ await this.addCrl(crl);
141
+ }
142
+ }
143
+ /**
144
+ * Checks if the DSS is empty (contains no certificates, CRLs, or OCSPs).
145
+ *
146
+ * @returns True if the DSS has no stored data.
147
+ */
148
+ isEmpty() {
149
+ const certs = this.content.get('Certs');
150
+ const crls = this.content.get('CRLs');
151
+ const ocsps = this.content.get('OCSPs');
152
+ return ((!certs || certs.items.length === 0) &&
153
+ (!crls || crls.items.length === 0) &&
154
+ (!ocsps || ocsps.items.length === 0));
155
+ }
156
+ }
@@ -0,0 +1,3 @@
1
+ export * from './signatures';
2
+ export * from './document-security-store';
3
+ export * from './types';
@@ -0,0 +1,3 @@
1
+ export * from './signatures';
2
+ export * from './document-security-store';
3
+ export * from './types';
@@ -0,0 +1,57 @@
1
+ import { RevocationInfo, TimeStampAuthority } from '../types';
2
+ import { AsymmetricEncryptionAlgorithmParams } from 'pki-lite/core/index';
3
+ import { PdfSignatureObject, PdfSignatureSignOptions } from './base';
4
+ import { ByteArray } from '../../types';
5
+ /**
6
+ * PKCS#7 detached signature object (adbe.pkcs7.detached).
7
+ * Creates CMS SignedData with the document hash as external data.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const signature = new PdfAdbePkcs7DetachedSignatureObject({
12
+ * privateKey: keyBytes,
13
+ * certificate: certBytes,
14
+ * reason: 'Document approval',
15
+ * timeStampAuthority: true
16
+ * })
17
+ * ```
18
+ */
19
+ export declare class PdfAdbePkcs7DetachedSignatureObject extends PdfSignatureObject {
20
+ /** Private key for signing. */
21
+ privateKey: ByteArray;
22
+ /** Signer certificate. */
23
+ certificate: ByteArray;
24
+ /** Additional certificates for chain building. */
25
+ additionalCertificates: ByteArray[];
26
+ /** Issuer certificate for OCSP requests. */
27
+ issuerCertificate?: ByteArray;
28
+ /** Signing date. */
29
+ date?: Date;
30
+ /** Signature algorithm parameters. */
31
+ algorithm?: AsymmetricEncryptionAlgorithmParams;
32
+ /** Revocation information or 'fetch' to retrieve automatically. */
33
+ revocationInfo?: RevocationInfo | 'fetch';
34
+ /** Timestamp authority configuration. */
35
+ timeStampAuthority?: TimeStampAuthority;
36
+ /**
37
+ * Creates a new PKCS#7 detached signature object.
38
+ *
39
+ * @param options - Signature configuration options.
40
+ */
41
+ constructor(options: PdfSignatureSignOptions & {
42
+ privateKey: ByteArray;
43
+ certificate: ByteArray;
44
+ issuerCertificate?: ByteArray;
45
+ additionalCertificates?: ByteArray[];
46
+ algorithm?: AsymmetricEncryptionAlgorithmParams;
47
+ revocationInfo?: RevocationInfo | 'fetch';
48
+ timeStampAuthority?: TimeStampAuthority | true;
49
+ });
50
+ /**
51
+ * Signs the document bytes using PKCS#7 detached format.
52
+ *
53
+ * @param options - Signing options with bytes and revocation embedding flag.
54
+ * @returns The CMS SignedData and revocation information.
55
+ */
56
+ sign: PdfSignatureObject['sign'];
57
+ }
@@ -0,0 +1,117 @@
1
+ import { SignedData } from 'pki-lite/pkcs7/SignedData';
2
+ import { Certificate } from 'pki-lite/x509/Certificate';
3
+ import { SignerInfo } from 'pki-lite/pkcs7/SignerInfo';
4
+ import { Attribute } from 'pki-lite/x509/Attribute';
5
+ import { RevocationInfoArchival } from 'pki-lite/adobe/RevocationInfoArchival';
6
+ import { CertificateList } from 'pki-lite/x509/CertificateList';
7
+ import { OCSPResponse } from 'pki-lite/ocsp/OCSPResponse';
8
+ import { PrivateKeyInfo } from 'pki-lite/keys/PrivateKeyInfo';
9
+ import { OtherRevInfo } from 'pki-lite/adobe/OtherRevInfo';
10
+ import { fetchRevocationInfo } from '../utils';
11
+ import { PdfSignatureObject } from './base';
12
+ /**
13
+ * PKCS#7 detached signature object (adbe.pkcs7.detached).
14
+ * Creates CMS SignedData with the document hash as external data.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const signature = new PdfAdbePkcs7DetachedSignatureObject({
19
+ * privateKey: keyBytes,
20
+ * certificate: certBytes,
21
+ * reason: 'Document approval',
22
+ * timeStampAuthority: true
23
+ * })
24
+ * ```
25
+ */
26
+ export class PdfAdbePkcs7DetachedSignatureObject extends PdfSignatureObject {
27
+ /** Private key for signing. */
28
+ privateKey;
29
+ /** Signer certificate. */
30
+ certificate;
31
+ /** Additional certificates for chain building. */
32
+ additionalCertificates;
33
+ /** Issuer certificate for OCSP requests. */
34
+ issuerCertificate;
35
+ /** Signing date. */
36
+ date;
37
+ /** Signature algorithm parameters. */
38
+ algorithm;
39
+ /** Revocation information or 'fetch' to retrieve automatically. */
40
+ revocationInfo;
41
+ /** Timestamp authority configuration. */
42
+ timeStampAuthority;
43
+ /**
44
+ * Creates a new PKCS#7 detached signature object.
45
+ *
46
+ * @param options - Signature configuration options.
47
+ */
48
+ constructor(options) {
49
+ super({
50
+ ...options,
51
+ subfilter: 'adbe.pkcs7.detached',
52
+ });
53
+ this.privateKey = options.privateKey;
54
+ this.certificate = options.certificate;
55
+ this.issuerCertificate = options.issuerCertificate;
56
+ this.additionalCertificates = options.additionalCertificates || [];
57
+ this.date = options.date;
58
+ this.algorithm = options.algorithm;
59
+ this.revocationInfo = options.revocationInfo;
60
+ this.timeStampAuthority =
61
+ options.timeStampAuthority === true
62
+ ? {
63
+ url: 'http://timestamp.digicert.com',
64
+ }
65
+ : options.timeStampAuthority;
66
+ }
67
+ /**
68
+ * Signs the document bytes using PKCS#7 detached format.
69
+ *
70
+ * @param options - Signing options with bytes and revocation embedding flag.
71
+ * @returns The CMS SignedData and revocation information.
72
+ */
73
+ sign = async (options) => {
74
+ const { bytes } = options;
75
+ const certificate = Certificate.fromDer(this.certificate);
76
+ const additionalCertificates = this.additionalCertificates.map(Certificate.fromDer);
77
+ const signedAttributes = new SignerInfo.SignedAttributes();
78
+ const unsignedAttributes = new SignerInfo.UnsignedAttributes();
79
+ signedAttributes.push(Attribute.signingTime(this.date ?? new Date()));
80
+ const revocationInfo = this.revocationInfo === 'fetch'
81
+ ? await fetchRevocationInfo({
82
+ certificates: [
83
+ this.certificate,
84
+ ...(this.additionalCertificates ?? []),
85
+ ],
86
+ issuerCertificate: this.issuerCertificate,
87
+ })
88
+ : this.revocationInfo;
89
+ if (options.embedRevocationInfo && revocationInfo) {
90
+ signedAttributes.push(Attribute.adobeRevocationInfoArchival(new RevocationInfoArchival({
91
+ crls: revocationInfo.crls?.map((x) => CertificateList.fromDer(x)),
92
+ ocsps: revocationInfo.ocsps?.map((x) => OCSPResponse.fromDer(x)),
93
+ otherRevInfo: revocationInfo.otherRevInfo?.map((x) => new OtherRevInfo({
94
+ type: x.type,
95
+ value: x.value,
96
+ })),
97
+ })));
98
+ }
99
+ const signedData = await SignedData.builder()
100
+ .addCertificate(...additionalCertificates)
101
+ .setData(bytes)
102
+ .setDetached(true)
103
+ .addSigner({
104
+ certificate,
105
+ privateKeyInfo: PrivateKeyInfo.fromDer(this.privateKey),
106
+ encryptionAlgorithm: this.algorithm,
107
+ signedAttrs: signedAttributes,
108
+ unsignedAttrs: unsignedAttributes,
109
+ tsa: this.timeStampAuthority,
110
+ })
111
+ .build();
112
+ return {
113
+ signedBytes: signedData.toCms().toDer(),
114
+ revocationInfo,
115
+ };
116
+ };
117
+ }
@@ -0,0 +1,55 @@
1
+ import { RevocationInfo, TimeStampAuthority } from '../types';
2
+ import { AsymmetricEncryptionAlgorithmParams } from 'pki-lite/core/index';
3
+ import { PdfSignatureObject, PdfSignatureSignOptions } from './base';
4
+ import { ByteArray } from '../../types';
5
+ /**
6
+ * PKCS#7 SHA-1 signature object (adbe.pkcs7.sha1).
7
+ * Creates CMS SignedData with SHA-1 hash embedded as signed content.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const signature = new PdfAdbePkcs7Sha1SignatureObject({
12
+ * privateKey: keyBytes,
13
+ * certificate: certBytes
14
+ * })
15
+ * ```
16
+ */
17
+ export declare class PdfAdbePkcs7Sha1SignatureObject extends PdfSignatureObject {
18
+ /** Fixed algorithm for SHA-1 signatures. */
19
+ static readonly ALGORITHM: AsymmetricEncryptionAlgorithmParams;
20
+ /** Private key for signing. */
21
+ privateKey: ByteArray;
22
+ /** Signer certificate. */
23
+ certificate: ByteArray;
24
+ /** Additional certificates for chain building. */
25
+ additionalCertificates: ByteArray[];
26
+ /** Issuer certificate for OCSP requests. */
27
+ issuerCertificate?: ByteArray;
28
+ /** Signing date. */
29
+ date?: Date;
30
+ /** Revocation information or 'fetch' to retrieve automatically. */
31
+ revocationInfo?: RevocationInfo | 'fetch';
32
+ /** Timestamp authority configuration. */
33
+ timeStampAuthority?: TimeStampAuthority;
34
+ /**
35
+ * Creates a new PKCS#7 SHA-1 signature object.
36
+ *
37
+ * @param options - Signature configuration options.
38
+ */
39
+ constructor(options: PdfSignatureSignOptions & {
40
+ privateKey: ByteArray;
41
+ certificate: ByteArray;
42
+ issuerCertificate?: ByteArray;
43
+ additionalCertificates?: ByteArray[];
44
+ algorithm?: AsymmetricEncryptionAlgorithmParams;
45
+ revocationInfo?: RevocationInfo | 'fetch';
46
+ timeStampAuthority?: TimeStampAuthority | true;
47
+ });
48
+ /**
49
+ * Signs the document bytes using PKCS#7 SHA-1 format.
50
+ *
51
+ * @param options - Signing options with bytes and revocation embedding flag.
52
+ * @returns The CMS SignedData and revocation information.
53
+ */
54
+ sign: PdfSignatureObject['sign'];
55
+ }
@@ -0,0 +1,121 @@
1
+ import { SignedData } from 'pki-lite/pkcs7/SignedData';
2
+ import { Certificate } from 'pki-lite/x509/Certificate';
3
+ import { SignerInfo } from 'pki-lite/pkcs7/SignerInfo';
4
+ import { Attribute } from 'pki-lite/x509/Attribute';
5
+ import { RevocationInfoArchival } from 'pki-lite/adobe/RevocationInfoArchival';
6
+ import { CertificateList } from 'pki-lite/x509/CertificateList';
7
+ import { OCSPResponse } from 'pki-lite/ocsp/OCSPResponse';
8
+ import { PrivateKeyInfo } from 'pki-lite/keys/PrivateKeyInfo';
9
+ import { OtherRevInfo } from 'pki-lite/adobe/OtherRevInfo';
10
+ import { fetchRevocationInfo } from '../utils';
11
+ import { PdfSignatureObject } from './base';
12
+ import { DigestAlgorithmIdentifier } from 'pki-lite/algorithms/AlgorithmIdentifier';
13
+ /**
14
+ * PKCS#7 SHA-1 signature object (adbe.pkcs7.sha1).
15
+ * Creates CMS SignedData with SHA-1 hash embedded as signed content.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const signature = new PdfAdbePkcs7Sha1SignatureObject({
20
+ * privateKey: keyBytes,
21
+ * certificate: certBytes
22
+ * })
23
+ * ```
24
+ */
25
+ export class PdfAdbePkcs7Sha1SignatureObject extends PdfSignatureObject {
26
+ /** Fixed algorithm for SHA-1 signatures. */
27
+ static ALGORITHM = {
28
+ type: 'RSASSA_PKCS1_v1_5',
29
+ params: {
30
+ hash: 'SHA-1',
31
+ },
32
+ };
33
+ /** Private key for signing. */
34
+ privateKey;
35
+ /** Signer certificate. */
36
+ certificate;
37
+ /** Additional certificates for chain building. */
38
+ additionalCertificates;
39
+ /** Issuer certificate for OCSP requests. */
40
+ issuerCertificate;
41
+ /** Signing date. */
42
+ date;
43
+ /** Revocation information or 'fetch' to retrieve automatically. */
44
+ revocationInfo;
45
+ /** Timestamp authority configuration. */
46
+ timeStampAuthority;
47
+ /**
48
+ * Creates a new PKCS#7 SHA-1 signature object.
49
+ *
50
+ * @param options - Signature configuration options.
51
+ */
52
+ constructor(options) {
53
+ super({
54
+ ...options,
55
+ subfilter: 'adbe.pkcs7.sha1',
56
+ });
57
+ this.privateKey = options.privateKey;
58
+ this.certificate = options.certificate;
59
+ this.issuerCertificate = options.issuerCertificate;
60
+ this.additionalCertificates = options.additionalCertificates || [];
61
+ this.date = options.date;
62
+ this.revocationInfo = options.revocationInfo;
63
+ this.timeStampAuthority =
64
+ options.timeStampAuthority === true
65
+ ? {
66
+ url: 'http://timestamp.digicert.com',
67
+ }
68
+ : options.timeStampAuthority;
69
+ }
70
+ /**
71
+ * Signs the document bytes using PKCS#7 SHA-1 format.
72
+ *
73
+ * @param options - Signing options with bytes and revocation embedding flag.
74
+ * @returns The CMS SignedData and revocation information.
75
+ */
76
+ sign = async (options) => {
77
+ const { bytes } = options;
78
+ const certificate = Certificate.fromDer(this.certificate);
79
+ const additionalCertificates = this.additionalCertificates.map(Certificate.fromDer);
80
+ const signedAttributes = new SignerInfo.SignedAttributes();
81
+ const unsignedAttributes = new SignerInfo.UnsignedAttributes();
82
+ signedAttributes.push(Attribute.signingTime(this.date ?? new Date()));
83
+ const revocationInfo = this.revocationInfo === 'fetch'
84
+ ? await fetchRevocationInfo({
85
+ certificates: [
86
+ this.certificate,
87
+ ...(this.additionalCertificates ?? []),
88
+ ],
89
+ issuerCertificate: this.issuerCertificate,
90
+ })
91
+ : this.revocationInfo;
92
+ if (options.embedRevocationInfo && revocationInfo) {
93
+ signedAttributes.push(Attribute.adobeRevocationInfoArchival(new RevocationInfoArchival({
94
+ crls: revocationInfo.crls?.map((x) => CertificateList.fromDer(x)),
95
+ ocsps: revocationInfo.ocsps?.map((x) => OCSPResponse.fromDer(x)),
96
+ otherRevInfo: revocationInfo.otherRevInfo?.map((x) => new OtherRevInfo({
97
+ type: x.type,
98
+ value: x.value,
99
+ })),
100
+ })));
101
+ }
102
+ const digest = await DigestAlgorithmIdentifier.digestAlgorithm('SHA-1').digest(bytes);
103
+ const signedData = await SignedData.builder()
104
+ .addCertificate(...additionalCertificates)
105
+ .setData(digest)
106
+ .setDetached(false)
107
+ .addSigner({
108
+ certificate,
109
+ privateKeyInfo: PrivateKeyInfo.fromDer(this.privateKey),
110
+ encryptionAlgorithm: PdfAdbePkcs7Sha1SignatureObject.ALGORITHM,
111
+ signedAttrs: signedAttributes,
112
+ unsignedAttrs: unsignedAttributes,
113
+ tsa: this.timeStampAuthority,
114
+ })
115
+ .build();
116
+ return {
117
+ signedBytes: signedData.toCms().toDer(),
118
+ revocationInfo,
119
+ };
120
+ };
121
+ }
@@ -0,0 +1,49 @@
1
+ import { AsymmetricEncryptionAlgorithmParams } from 'pki-lite/core/index';
2
+ import { PdfSignatureObject, PdfSignatureSignOptions } from './base';
3
+ import { ByteArray } from '../../types';
4
+ import { RevocationInfo } from '../types';
5
+ /**
6
+ * X.509 RSA-SHA1 signature object (adbe.x509.rsa_sha1).
7
+ * Creates a raw RSA-SHA1 signature with certificates in the Cert entry.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const signature = new PdfAdbePkcsX509RsaSha1SignatureObject({
12
+ * privateKey: keyBytes,
13
+ * certificate: certBytes
14
+ * })
15
+ * ```
16
+ */
17
+ export declare class PdfAdbePkcsX509RsaSha1SignatureObject extends PdfSignatureObject {
18
+ /** Fixed algorithm for RSA-SHA1 signatures. */
19
+ static readonly ALGORITHM: AsymmetricEncryptionAlgorithmParams;
20
+ /** Private key for signing. */
21
+ privateKey: ByteArray;
22
+ /** Signer certificate. */
23
+ certificate: ByteArray;
24
+ /** Additional certificates for chain building. */
25
+ additionalCertificates?: ByteArray[];
26
+ /** Issuer certificate for OCSP requests. */
27
+ issuerCertificate?: ByteArray;
28
+ /** Revocation information or 'fetch' to retrieve automatically. */
29
+ revocationInfo?: RevocationInfo | 'fetch';
30
+ /**
31
+ * Creates a new X.509 RSA-SHA1 signature object.
32
+ *
33
+ * @param options - Signature configuration options.
34
+ */
35
+ constructor(options: PdfSignatureSignOptions & {
36
+ privateKey: ByteArray;
37
+ certificate: ByteArray;
38
+ additionalCertificates?: ByteArray[];
39
+ issuerCertificate?: ByteArray;
40
+ revocationInfo?: RevocationInfo | 'fetch';
41
+ });
42
+ /**
43
+ * Signs the document bytes using RSA-SHA1 format.
44
+ *
45
+ * @param options - Signing options with bytes.
46
+ * @returns The signature bytes and revocation information.
47
+ */
48
+ sign: PdfSignatureObject['sign'];
49
+ }
@@ -0,0 +1,81 @@
1
+ import { PrivateKeyInfo } from 'pki-lite/keys/PrivateKeyInfo';
2
+ import { PdfSignatureObject } from './base';
3
+ import { OctetString } from 'pki-lite/asn1/OctetString';
4
+ import { AlgorithmIdentifier } from 'pki-lite/algorithms/AlgorithmIdentifier';
5
+ import { fetchRevocationInfo } from '../utils';
6
+ /**
7
+ * X.509 RSA-SHA1 signature object (adbe.x509.rsa_sha1).
8
+ * Creates a raw RSA-SHA1 signature with certificates in the Cert entry.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const signature = new PdfAdbePkcsX509RsaSha1SignatureObject({
13
+ * privateKey: keyBytes,
14
+ * certificate: certBytes
15
+ * })
16
+ * ```
17
+ */
18
+ export class PdfAdbePkcsX509RsaSha1SignatureObject extends PdfSignatureObject {
19
+ /** Fixed algorithm for RSA-SHA1 signatures. */
20
+ static ALGORITHM = {
21
+ type: 'RSASSA_PKCS1_v1_5',
22
+ params: {
23
+ hash: 'SHA-1',
24
+ },
25
+ };
26
+ /** Private key for signing. */
27
+ privateKey;
28
+ /** Signer certificate. */
29
+ certificate;
30
+ /** Additional certificates for chain building. */
31
+ additionalCertificates;
32
+ /** Issuer certificate for OCSP requests. */
33
+ issuerCertificate;
34
+ /** Revocation information or 'fetch' to retrieve automatically. */
35
+ revocationInfo;
36
+ /**
37
+ * Creates a new X.509 RSA-SHA1 signature object.
38
+ *
39
+ * @param options - Signature configuration options.
40
+ */
41
+ constructor(options) {
42
+ super({
43
+ ...options,
44
+ subfilter: 'adbe.x509.rsa_sha1',
45
+ certs: [
46
+ options.certificate,
47
+ ...(options.additionalCertificates ?? []),
48
+ ],
49
+ });
50
+ this.privateKey = options.privateKey;
51
+ this.revocationInfo = options.revocationInfo;
52
+ this.certificate = options.certificate;
53
+ this.issuerCertificate = options.issuerCertificate;
54
+ this.additionalCertificates = options.additionalCertificates;
55
+ }
56
+ /**
57
+ * Signs the document bytes using RSA-SHA1 format.
58
+ *
59
+ * @param options - Signing options with bytes.
60
+ * @returns The signature bytes and revocation information.
61
+ */
62
+ sign = async (options) => {
63
+ const { bytes } = options;
64
+ const revocationInfo = this.revocationInfo === 'fetch'
65
+ ? await fetchRevocationInfo({
66
+ certificates: [
67
+ this.certificate,
68
+ ...(this.additionalCertificates ?? []),
69
+ ],
70
+ issuerCertificate: this.issuerCertificate,
71
+ })
72
+ : this.revocationInfo;
73
+ const privateKeyInfo = PrivateKeyInfo.fromDer(this.privateKey);
74
+ const signatureAlgorithm = AlgorithmIdentifier.signatureAlgorithm(PdfAdbePkcsX509RsaSha1SignatureObject.ALGORITHM);
75
+ const signatureBytes = await signatureAlgorithm.sign(bytes, privateKeyInfo);
76
+ return {
77
+ signedBytes: new OctetString({ bytes: signatureBytes }).toDer(),
78
+ revocationInfo,
79
+ };
80
+ };
81
+ }