Skip to content
Snippets Groups Projects
Commit c86529e3 authored by Damyan Mitev's avatar Damyan Mitev :beach:
Browse files

Add more try/catch and logs

parent c5763160
No related branches found
No related tags found
1 merge request!48269 implement workflow for signing already uploaded document dev
......@@ -634,6 +634,7 @@ function loadPdf(pdfArray) {
//data must be Uint8Array
async function sign_pki(signingCert, certificateChain, privateKey, data, date) {
console.log("Calling sign_pki");
const crypto = getCrypto();
......@@ -719,6 +720,8 @@ async function sign_pki(signingCert, certificateChain, privateKey, data, date) {
async function signPdfObjects (pdfRaw, signingCert, certificateChain, privateKey, date) {
console.log("Calling signPdfObjects");
date = ((typeof date !== 'undefined') && (date !== null)) ? date : new Date();
if (pdfRaw instanceof Buffer) {
......@@ -727,26 +730,39 @@ async function signPdfObjects (pdfRaw, signingCert, certificateChain, privateKey
if(pdfRaw instanceof ArrayBuffer) {
pdfRaw = new Uint8Array(pdfRaw);
}
console.log("Calling loadPdf");
var pdf = loadPdf(pdfRaw);
var root = findRootEntry(pdf.xref);
var rootSuccessor = findSuccessorEntry(pdf.xref.entries, root);
if(!isSigInRoot(pdf)) {
console.log("Calling newSig");
return await newSig(pdf, root, rootSuccessor, date, signingCert, certificateChain, privateKey);
} else {
console.log("Calling appendSig");
return await appendSig(pdf, root, rootSuccessor, date, signingCert, certificateChain, privateKey);
}
}
export function signPdf(pdfRaw, signingCert, certificateChain, privateKey) {
const signingCertObj = parseCertificate(signingCert);
const certificateChainObj = [];
certificateChainObj[0] = parseCertificate(signingCert);
for (let i = 0; i < certificateChain.length; i++) {
certificateChainObj[i + 1] = parseCertificate(certificateChain[i])
export async function signPdf(pdfRaw, signingCert, certificateChain, privateKey) {
console.log("Calling signPdf");
const signingCertObj = parseCertificate(signingCert);
const certificateChainObj = [];
certificateChainObj[0] = parseCertificate(signingCert);
for (let i = 0; i < certificateChain.length; i++) {
certificateChainObj[i + 1] = parseCertificate(certificateChain[i])
}
let privateKeyDecoded;
try {
console.log("Calling parsePrivateKey");
privateKeyDecoded = await parsePrivateKey(privateKey);
} catch (e) {
console.log("Error decoding private key: ", e);
throw new Error('Error decoding private key: ' + e);
}
return parsePrivateKey(privateKey).then(privateKeyDecoded => {
return signPdfObjects(pdfRaw, signingCertObj, certificateChainObj, privateKeyDecoded);
});
return await signPdfObjects(pdfRaw, signingCertObj, certificateChainObj, privateKeyDecoded);
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment