diff --git a/javascript/src/utilities/pdfUtilities.js b/javascript/src/utilities/pdfUtilities.js
index d965bc62bae6375ff235881c7bdfe3413e0634b2..51e5e4d34c21ddc5547b7e9a53408b62568e1e21 100644
--- a/javascript/src/utilities/pdfUtilities.js
+++ b/javascript/src/utilities/pdfUtilities.js
@@ -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