From 202edbc768836fd70b2b01c718e24236ccaa2999 Mon Sep 17 00:00:00 2001 From: Marcos Sanz Date: Fri, 24 Feb 2023 12:09:38 +0100 Subject: [PATCH 1/5] Fix EU signature Fix signature to have a check in: Is the signature intact? --- lib/zgapdfsigner.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/zgapdfsigner.js b/lib/zgapdfsigner.js index d88b464..775d862 100644 --- a/lib/zgapdfsigner.js +++ b/lib/zgapdfsigner.js @@ -963,11 +963,12 @@ z.PdfSigner = class{ { "type": forge.pki.oids.contentType, "value": forge.pki.oids.data, - }, { - "type": forge.pki.oids.messageDigest, }, { "type": forge.pki.oids.signingTime, "value": signdate, + }, { + "type": forge.pki.oids.messageDigest, + }, ], }); From e37d5b1ce1ee9caf00ce2166ca11a15d992211a6 Mon Sep 17 00:00:00 2001 From: Marcos Sanz Date: Fri, 24 Feb 2023 12:51:21 +0100 Subject: [PATCH 2/5] fix(node): added pkg follow-redirects Added follow-redirects package to allow the urlFetch function to follow the redirect that some cert providers has. For example: http://www.accv.es/gestcert/ACCVCA120SHA2.cacert.crt --- .vscode/settings.json | 5 +++++ lib/zganode.js | 4 ++-- package-lock.json | 30 ++++++++++++++++++++++++++++-- package.json | 4 ++-- 4 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..8bd5073 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "conventionalCommits.scopes": [ + "node" + ] +} \ No newline at end of file diff --git a/lib/zganode.js b/lib/zganode.js index e92c230..5d7de8c 100644 --- a/lib/zganode.js +++ b/lib/zganode.js @@ -1,7 +1,7 @@ const m_urlparser = require("url"); const m_h = { - "http:": require("http"), - "https:": require("https"), + "http:": require('follow-redirects').http, + "https:": require('follow-redirects').https, }; const z = require("./zgaindex.js"); z.forge = require("node-forge"); diff --git a/package-lock.json b/package-lock.json index c3b4380..1032e01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,15 @@ { "name": "zgapdfsigner", - "version": "2.3.0", + "version": "2.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "zgapdfsigner", - "version": "2.3.0", + "version": "2.5.0", + "license": "MIT", "dependencies": { + "follow-redirects": "1.15.2", "node-forge": "1.3.1", "pdf-lib": "1.17.1" }, @@ -29,6 +31,25 @@ "pako": "^1.0.10" } }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -76,6 +97,11 @@ "pako": "^1.0.10" } }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", diff --git a/package.json b/package.json index 2768936..c3e580e 100644 --- a/package.json +++ b/package.json @@ -32,9 +32,9 @@ "test": "node test4node.js" }, "dependencies": { + "follow-redirects": "1.15.2", "pdf-lib": "1.17.1", "node-forge": "1.3.1" }, - "devDependencies": { - } + "devDependencies": {} } From 8ca688b8c5d89f945eb10e7f68a3cc250489785a Mon Sep 17 00:00:00 2001 From: Marcos Sanz Date: Fri, 24 Feb 2023 12:52:43 +0100 Subject: [PATCH 3/5] fix: remove vscode folder --- .vscode/settings.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 8bd5073..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "conventionalCommits.scopes": [ - "node" - ] -} \ No newline at end of file From 30727cafc33d308b4e2aa84ab3a92feba44de3e6 Mon Sep 17 00:00:00 2001 From: Marcos Sanz Date: Fri, 24 Feb 2023 14:34:22 +0100 Subject: [PATCH 4/5] Update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c3e580e..93933d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zgapdfsigner", - "version": "2.5.0", + "version": "2.5.1", "author": "zboris12", "description": "A javascript tool to sign a pdf or set protection to a pdf in web browser, Google Apps Script and nodejs.", "homepage": "https://github.com/zboris12/zgapdfsigner", From e6361df479c37a8b54eefdb883f83a8ee7ddaa86 Mon Sep 17 00:00:00 2001 From: Marcos Sanz Date: Mon, 27 Feb 2023 07:05:24 +0100 Subject: [PATCH 5/5] Add name to signature --- lib/zgapdfsigner.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/zgapdfsigner.js b/lib/zgapdfsigner.js index 775d862..7fe470b 100644 --- a/lib/zgapdfsigner.js +++ b/lib/zgapdfsigner.js @@ -782,6 +782,9 @@ z.PdfSigner = class{ if(_this.opt.reason){ signObj["Reason"] = _this.convToPDFString(_this.opt.reason); } + if(_this.opt.signame){ + signObj["Name"] = _this.convToPDFString(_this.opt.signame); + } if(_this.opt.location){ signObj["Location"] = _this.convToPDFString(_this.opt.location); }