edockit 0.1.1 → 0.1.2
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.
- package/README.md +1 -1
- package/dist/core/parser/types.d.ts +1 -0
- package/dist/core/verification.d.ts +1 -0
- package/dist/index.cjs.js +67 -9
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +67 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +5 -5
- package/dist/index.umd.js.map +1 -1
- package/package.json +11 -2
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/utils/xmlParser.ts","../src/core/canonicalization/XMLCanonicalizer.ts","../src/core/certificate.ts","../src/core/parser/certificateUtils.ts","../src/core/parser/signatureParser.ts","../src/core/parser.ts","../src/core/rsa-modulus-padding-fix.ts","../src/core/verification.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["formatPEM","XmlParserModule.serializeToXML"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/utils/xmlParser.ts","../src/core/canonicalization/XMLCanonicalizer.ts","../src/core/certificate.ts","../src/core/parser/certificateUtils.ts","../src/core/parser/signatureParser.ts","../src/core/parser.ts","../src/core/rsa-modulus-padding-fix.ts","../src/core/verification.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["formatPEM","XmlParserModule.serializeToXML"],"mappings":"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"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* MIT License
|
|
3
3
|
* Copyright (c) 2025 Edgars Jēkabsons, ZenomyTech SIA
|
|
4
|
-
*/(function(T,I){typeof exports=="object"&&typeof module!="undefined"?I(exports,require("fflate"),require("@peculiar/x509")):typeof define=="function"&&define.amd?define(["exports","fflate","@peculiar/x509"],I):(T=typeof globalThis!="undefined"?globalThis:T||self,I(T.edockit={},T.fflate,T.peculiarX509))})(this,function(T,I,
|
|
4
|
+
*/(function(T,I){typeof exports=="object"&&typeof module!="undefined"?I(exports,require("fflate"),require("@peculiar/x509")):typeof define=="function"&&define.amd?define(["exports","fflate","@peculiar/x509"],I):(T=typeof globalThis!="undefined"?globalThis:T||self,I(T.edockit={},T.fflate,T.peculiarX509))})(this,function(T,I,k){"use strict";function R(n,t){const e=[],r=t.split(",").map(u=>u.trim()),a=[];for(const u of r){const o=u.split(/\\:|:/).filter(Boolean);o.length===1?a.push({name:o[0]}):o.length===2&&a.push({ns:o[0],name:o[1]})}function l(u){if(u){if(u.nodeType===1){const o=u,c=o.nodeName,i=o.localName;for(const s of a){if(s.ns&&c===`${s.ns}:${s.name}`){e.push(o);break}if(i===s.name||c===s.name){e.push(o);break}if(c.endsWith(`:${s.name}`)){e.push(o);break}}}if(u.childNodes)for(let o=0;o<u.childNodes.length;o++)l(u.childNodes[o])}}return l(n),e}const H={ds:"http://www.w3.org/2000/09/xmldsig#",dsig11:"http://www.w3.org/2009/xmldsig11#",dsig2:"http://www.w3.org/2010/xmldsig2#",ec:"http://www.w3.org/2001/10/xml-exc-c14n#",dsig_more:"http://www.w3.org/2001/04/xmldsig-more#",xenc:"http://www.w3.org/2001/04/xmlenc#",xenc11:"http://www.w3.org/2009/xmlenc11#",xades:"http://uri.etsi.org/01903/v1.3.2#",xades141:"http://uri.etsi.org/01903/v1.4.1#",asic:"http://uri.etsi.org/02918/v1.2.1#"};function U(){if(typeof window!="undefined"&&window.DOMParser)return new window.DOMParser;try{const{DOMParser:n}=require("@xmldom/xmldom");return new n}catch(n){throw new Error("XML DOM parser not available. In Node.js environments, please install @xmldom/xmldom package.")}}function le(n,t,e=H){try{if(typeof document!="undefined"&&document.evaluate){const r=q(e);return document.evaluate(t,n,r,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}else{const r=require("xpath"),a=e;try{const l=r.select(t,n,a);return l.length>0?l[0]:null}catch(l){if(typeof l=="object"&&l!==null&&"message"in l&&typeof l.message=="string"&&l.message.includes("Cannot resolve QName")){const u=t.match(/local-name\(\)='([^']+)'/);if(u&&u[1]){const o=`.//*[local-name()='${u[1]}']`,c=r.select(o,n);return c.length>0?c[0]:null}}throw l}}}catch(r){return console.error(`XPath evaluation failed for "${t}":`,r),null}}function ce(n,t,e=H){try{if(typeof document!="undefined"&&document.evaluate){const r=q(e),a=document.evaluate(t,n,r,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),l=[];for(let u=0;u<a.snapshotLength;u++)l.push(a.snapshotItem(u));return l}else{const r=require("xpath"),a=e;try{return r.select(t,n,a)}catch(l){if(typeof l=="object"&&l!==null&&"message"in l&&typeof l.message=="string"&&l.message.includes("Cannot resolve QName")){const u=t.match(/local-name\(\)='([^']+)'/);if(u&&u[1]){const o=`.//*[local-name()='${u[1]}']`;return r.select(o,n)}}throw l}}}catch(r){return console.error(`XPath evaluation failed for "${t}":`,r),[]}}function q(n){return function(t){return t===null?null:n[t]||null}}function B(n){const t=n.split(",").map(r=>r.trim()),e=[];for(const r of t){const a=r.split(/\\:|:/).filter(Boolean);a.length===1?e.push(`.//*[local-name()='${a[0]}']`):a.length===2&&e.push(`.//${a[0]}:${a[1]} | .//*[local-name()='${a[1]}']`)}return e.join(" | ")}function A(n,t){if(typeof n.querySelector=="function")try{const r=n.querySelector(t);if(r)return r}catch(r){}const e=R(n,t);if(e.length>0)return e[0];try{const r=B(t);return le(n,r)}catch(r){return console.warn("XPath query failed, using direct DOM traversal as fallback"),null}}function K(n,t){if(typeof n.querySelectorAll=="function")try{const r=n.querySelectorAll(t);if(r.length>0){const a=[];for(let l=0;l<r.length;l++)a.push(r[l]);return a}}catch(r){}const e=R(n,t);if(e.length>0)return e;try{const r=B(t);return ce(n,r)}catch(r){return console.warn("XPath query failed, using direct DOM traversal as fallback"),[]}}function ue(n){if(typeof window!="undefined"&&window.XMLSerializer)return new window.XMLSerializer().serializeToString(n);try{const{XMLSerializer:t}=require("@xmldom/xmldom");return new t().serializeToString(n)}catch(t){throw new Error("XML Serializer not available. In Node.js environments, please install @xmldom/xmldom package.")}}const O={default:"c14n","http://www.w3.org/TR/2001/REC-xml-c14n-20010315":"c14n","http://www.w3.org/2006/12/xml-c14n11":"c14n11","http://www.w3.org/2001/10/xml-exc-c14n#":"c14n_exc"},V={c14n:{beforeChildren:()=>"",afterChildren:()=>"",betweenChildren:()=>"",afterElement:()=>"",isCanonicalizationMethod:"c14n"},c14n11:{beforeChildren:(n,t)=>t?"":n?`
|
|
5
5
|
`:"",afterChildren:(n,t)=>t?"":n?`
|
|
6
6
|
`:"",betweenChildren:(n,t,e)=>e?"":n&&t?`
|
|
7
|
-
`:"",afterElement:()=>"",isCanonicalizationMethod:"c14n11"},c14n_exc:{beforeChildren:()=>"",afterChildren:()=>"",betweenChildren:()=>"",afterElement:()=>"",isCanonicalizationMethod:"c14n_exc"}},S={ELEMENT_NODE:1,TEXT_NODE:3};class b{constructor(t=V.c14n){this.method=t}static fromMethod(t){const e=O[t];if(!e)throw new Error(`Unsupported canonicalization method: ${t}`);return new b(V[e])}setMethod(t){this.method=t}static escapeXml(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}static collectNamespaces(t,e=new Map){let r=t;for(;r&&r.nodeType===S.ELEMENT_NODE;){const a=r,
|
|
8
|
-
`)&&(c=!0)}else
|
|
7
|
+
`:"",afterElement:()=>"",isCanonicalizationMethod:"c14n11"},c14n_exc:{beforeChildren:()=>"",afterChildren:()=>"",betweenChildren:()=>"",afterElement:()=>"",isCanonicalizationMethod:"c14n_exc"}},S={ELEMENT_NODE:1,TEXT_NODE:3};class b{constructor(t=V.c14n){this.method=t}static fromMethod(t){const e=O[t];if(!e)throw new Error(`Unsupported canonicalization method: ${t}`);return new b(V[e])}setMethod(t){this.method=t}static escapeXml(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}static collectNamespaces(t,e=new Map){let r=t;for(;r&&r.nodeType===S.ELEMENT_NODE;){const a=r,l=a.getAttribute("xmlns");l!==null&&!e.has("")&&e.set("",l);const u=a.attributes;for(let o=0;o<u.length;o++){const c=u[o];if(c.name.startsWith("xmlns:")){const i=c.name.substring(6);e.has(i)||e.set(i,c.value)}}r=r.parentNode}return e}static collectUsedNamespaces(t,e=new Map,r=[]){const a=new Map,l=new Set;function u(o,c=!1){if(o.nodeType===S.ELEMENT_NODE){const i=o,s=i.namespaceURI,p=i.prefix||"";if(p&&s&&(c||!l.has(p))){l.add(p);const f=e.get(p);f&&f===s&&!a.has(p)&&a.set(p,f)}const g=i.attributes;for(let f=0;f<g.length;f++){const h=g[f];if(h.name.includes(":")&&!h.name.startsWith("xmlns:")){const y=h.name.split(":")[0];if(c||!l.has(y)){l.add(y);const d=e.get(y);d&&!a.has(y)&&a.set(y,d)}}}for(const f of r){const h=e.get(f);h&&!a.has(f)&&a.set(f,h)}for(let f=0;f<o.childNodes.length;f++)u(o.childNodes[f],!1)}}return u(t,!0),a}static isBase64Element(t){if(t.nodeType!==S.ELEMENT_NODE)return!1;const e=t,r=e.localName||e.nodeName.split(":").pop()||"";return this.base64Elements.has(r)}static analyzeWhitespace(t){const e=t.nodeType===S.ELEMENT_NODE?t:t.documentElement;function r(a){if(a.nodeType===S.ELEMENT_NODE){a._whitespace={hasMixedContent:!1,hasExistingLinebreaks:!1,originalContent:{}};const l=Array.from(a.childNodes);let u=!1,o=!1,c=!1;for(const i of l)if(i.nodeType===S.TEXT_NODE&&(i.nodeValue||"").trim().length>0){u=!0;break}for(const i of l)if(i.nodeType===S.ELEMENT_NODE){o=!0;break}for(let i=0;i<l.length;i++){const s=l[i];if(s.nodeType===S.TEXT_NODE){const p=s.nodeValue||"";s._originalText=p,p.includes(`
|
|
8
|
+
`)&&(c=!0)}else s.nodeType===S.ELEMENT_NODE&&r(s)}a._whitespace.hasMixedContent=u&&o,a._whitespace.hasExistingLinebreaks=c}}r(e)}canonicalize(t,e=new Map,r={isStartingNode:!0}){var a,l,u;if(!t)return"";let o="";if(t.nodeType===S.ELEMENT_NODE){const c=new Map(e),i=t,s=i.getAttribute("xmlns");s!==null&&c.set("",s);const p=i.attributes;for(let E=0;E<p.length;E++){const w=p[E];if(w.name.startsWith("xmlns:")){const v=w.name.substring(6);c.set(v,w.value)}}const g=i.prefix||"",f=i.localName||i.nodeName.split(":").pop()||"",h=g?`${g}:${f}`:f;if(o+="<"+h,r.isStartingNode){const E=b.collectNamespaces(t),w=Array.from(E.entries()).sort((v,N)=>v[0]===""?-1:N[0]===""?1:v[0].localeCompare(N[0]));for(const[v,N]of w)v===""?o+=` xmlns="${N}"`:o+=` xmlns:${v}="${N}"`}else{const E=Array.from(c.entries()).filter(([w,v])=>!e.has(w)||e.get(w)!==v).sort((w,v)=>w[0]===""?-1:v[0]===""?1:w[0].localeCompare(v[0]));for(const[w,v]of E)w===""?o+=` xmlns="${v}"`:o+=` xmlns:${w}="${v}"`}const y=i.attributes,d=[];for(let E=0;E<y.length;E++){const w=y[E];w.name.startsWith("xmlns")||d.push(w)}d.sort((E,w)=>E.name.localeCompare(w.name));for(const E of d)o+=` ${E.name}="${b.escapeXml(E.value)}"`;o+=">";const m=Array.from(t.childNodes);let C=!1,D=!1;const $=((a=t._whitespace)==null?void 0:a.hasMixedContent)||!1;for(const E of m)if(E.nodeType===S.ELEMENT_NODE){C=!0;break}const L=this.method.isCanonicalizationMethod==="c14n11"&&C&&!((l=t._whitespace)!=null&&l.hasExistingLinebreaks)&&!$;L&&(o+=this.method.beforeChildren(C,$));for(let E=0;E<m.length;E++){const w=m[E],v=w.nodeType===S.ELEMENT_NODE,N=E<m.length-1?m[E+1]:null;if(N&&(N.nodeType,S.ELEMENT_NODE),w.nodeType===S.TEXT_NODE){const x=w.nodeValue||"";b.isBase64Element(t)?o+=x.replace(/\r/g,"
"):o+=w._originalText||x,D=!1;continue}v&&(D&&this.method.isCanonicalizationMethod==="c14n11"&&!((u=t._whitespace)!=null&&u.hasExistingLinebreaks)&&!$&&(o+=this.method.betweenChildren(!0,!0,$)),o+=this.canonicalize(w,c,{isStartingNode:!1}),D=!0)}L&&(o+=this.method.afterChildren(C,$)),o+="</"+h+">"}else if(t.nodeType===S.TEXT_NODE){const c=t._originalText||t.nodeValue||"";o+=b.escapeXml(c)}return o}canonicalizeExclusive(t,e=new Map,r={}){if(!t)return"";const{inclusiveNamespacePrefixList:a=[],isStartingNode:l=!0}=r;let u="";if(t.nodeType===S.ELEMENT_NODE){const o=t,c=b.collectNamespaces(o),i=l?b.collectUsedNamespaces(o,c,a):new Map,s=o.prefix||"",p=o.localName||o.nodeName.split(":").pop()||"",g=s?`${s}:${p}`:p;if(u+="<"+g,l){const d=Array.from(i.entries()).sort((m,C)=>m[0]===""?-1:C[0]===""?1:m[0].localeCompare(C[0]));for(const[m,C]of d)m===""?u+=` xmlns="${C}"`:u+=` xmlns:${m}="${C}"`}const f=o.attributes,h=[];for(let d=0;d<f.length;d++){const m=f[d];m.name.startsWith("xmlns")||h.push(m)}h.sort((d,m)=>d.name.localeCompare(m.name));for(const d of h)u+=` ${d.name}="${b.escapeXml(d.value)}"`;u+=">";const y=Array.from(t.childNodes);for(let d=0;d<y.length;d++){const m=y[d];if(m.nodeType===S.TEXT_NODE){const C=m.nodeValue||"";b.isBase64Element(t)?u+=C.replace(/\r/g,"
"):u+=b.escapeXml(C)}else m.nodeType===S.ELEMENT_NODE&&(u+=this.canonicalizeExclusive(m,new Map([...e,...i]),{inclusiveNamespacePrefixList:a,isStartingNode:!1}))}u+="</"+g+">"}else if(t.nodeType===S.TEXT_NODE){const o=t.nodeValue||"";u+=b.escapeXml(o)}return u}static c14n(t){return this.analyzeWhitespace(t),new b(V.c14n).canonicalize(t)}static c14n11(t){return this.analyzeWhitespace(t),new b(V.c14n11).canonicalize(t)}static c14n_exc(t,e=[]){return this.analyzeWhitespace(t),new b(V.c14n_exc).canonicalizeExclusive(t,new Map,{inclusiveNamespacePrefixList:e})}static canonicalize(t,e,r={}){switch(O[e]||O.default){case"c14n":return this.c14n(t);case"c14n11":return this.c14n11(t);case"c14n_exc":return this.c14n_exc(t,r.inclusiveNamespacePrefixList||[]);default:throw new Error(`Unsupported canonicalization method: ${e}`)}}}b.base64Elements=new Set(["DigestValue","X509Certificate","EncapsulatedTimeStamp","EncapsulatedOCSPValue","IssuerSerialV2"]);var fe=(n,t,e)=>new Promise((r,a)=>{var l=c=>{try{o(e.next(c))}catch(i){a(i)}},u=c=>{try{o(e.throw(c))}catch(i){a(i)}},o=c=>c.done?r(c.value):Promise.resolve(c.value).then(l,u);o((e=e.apply(n,t)).next())});function de(n){if(!n)return"";const t=n.replace(/\s+/g,""),e=[];for(let r=0;r<t.length;r+=64)e.push(t.substring(r,r+64));return`-----BEGIN CERTIFICATE-----
|
|
9
9
|
${e.join(`
|
|
10
10
|
`)}
|
|
11
|
-
-----END CERTIFICATE-----`}function
|
|
11
|
+
-----END CERTIFICATE-----`}function W(n){var t,e,r,a,l,u,o,c;const i={validFrom:n.notBefore,validTo:n.notAfter,issuer:{}};try{if(typeof n.subject=="object"&&n.subject!==null){const s=n.subject;i.commonName=s.commonName,i.organization=s.organizationName,i.country=s.countryName}if(typeof n.issuer=="object"&&n.issuer!==null){const s=n.issuer;i.issuer.commonName=s.commonName,i.issuer.organization=s.organizationName,i.issuer.country=s.countryName}}catch(s){console.warn("Could not extract subject/issuer as objects:",s)}try{if(typeof n.subject=="string"){const s=n.subject.split(",");for(const p of s){const[g,f]=p.trim().split("=");g==="CN"&&(i.commonName=i.commonName||f),g==="O"&&(i.organization=i.organization||f),g==="C"&&(i.country=i.country||f),g==="SN"&&(i.surname=f),(g==="G"||g==="GN")&&(i.givenName=f),(g==="SERIALNUMBER"||g==="2.5.4.5")&&(i.serialNumber=f==null?void 0:f.replace("PNOLV-",""))}}if(typeof n.issuer=="string"){const s=n.issuer.split(",");for(const p of s){const[g,f]=p.trim().split("=");g==="CN"&&(i.issuer.commonName=i.issuer.commonName||f),g==="O"&&(i.issuer.organization=i.issuer.organization||f),g==="C"&&(i.issuer.country=i.issuer.country||f)}}}catch(s){console.warn("Could not extract subject/issuer as strings:",s)}try{if("subjectName"in n&&(t=n.subjectName)!=null&&t.getField){const s=n.subjectName;i.commonName=i.commonName||((e=s.getField("CN"))==null?void 0:e[0]),i.surname=i.surname||((r=s.getField("SN"))==null?void 0:r[0]),i.givenName=i.givenName||((a=s.getField("G"))==null?void 0:a[0]),i.serialNumber=i.serialNumber||((u=(l=s.getField("2.5.4.5"))==null?void 0:l[0])==null?void 0:u.replace("PNOLV-","")),i.country=i.country||((o=s.getField("C"))==null?void 0:o[0]),i.organization=i.organization||((c=s.getField("O"))==null?void 0:c[0])}}catch(s){console.warn("Could not extract fields using getField method:",s)}return!i.serialNumber&&n.serialNumber&&(i.serialNumber=n.serialNumber),i}function G(n){return fe(this,null,function*(){try{let t=n;if(!n.includes("-----BEGIN CERTIFICATE-----")){const a=n.replace(/[\r\n\s]/g,"");t=de(a)}const e=new k.X509Certificate(t),r=W(e);return{subject:{commonName:r.commonName,organization:r.organization,country:r.country,surname:r.surname,givenName:r.givenName,serialNumber:r.serialNumber},validFrom:r.validFrom,validTo:r.validTo,issuer:r.issuer,serialNumber:e.serialNumber}}catch(t){throw console.error("Certificate parsing error:",t),new Error("Failed to parse certificate: "+(t instanceof Error?t.message:String(t)))}})}function me(n,t=new Date){const e="notBefore"in n?n.notBefore:n.validFrom,r="notAfter"in n?n.notAfter:n.validTo;return t<e?{isValid:!1,reason:`Certificate not yet valid. Valid from ${e.toISOString()}`}:t>r?{isValid:!1,reason:`Certificate expired. Valid until ${r.toISOString()}`}:{isValid:!0}}function he(n){const{subject:t}=n;return t.givenName&&t.surname?`${t.givenName} ${t.surname}`:t.commonName?t.commonName:t.serialNumber||"Unknown Signer"}function ge(n){const{validFrom:t,validTo:e}=n,r=a=>a.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"});return`${r(t)} to ${r(e)}`}function Y(n){if(!n)return"";const t=n.replace(/\s+/g,""),e=[];for(let r=0;r<t.length;r+=64)e.push(t.substring(r,r+64));return`-----BEGIN CERTIFICATE-----
|
|
12
12
|
${e.join(`
|
|
13
13
|
`)}
|
|
14
|
-
-----END CERTIFICATE-----`}var me=Object.defineProperty,he=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,G=(n,t,e)=>t in n?me(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,Y=(n,t)=>{for(var e in t||(t={}))pe.call(t,e)&&G(n,e,t[e]);if(W)for(var e of W(t))ye.call(t,e)&&G(n,e,t[e]);return n},Q=(n,t)=>he(n,ge(t));function Ee(n){return Array.from(n.keys()).filter(t=>t.match(/META-INF\/signatures\d*\.xml$/)||t.match(/META-INF\/.*signatures.*\.xml$/i))}function we(n,t){const e=new TextDecoder().decode(n),r=j().parseFromString(e,"application/xml"),a=K(r,"ds\\:Signature, Signature");if(a.length===0){if(console.warn(`No Signature elements found in ${t}`),e.includes("XAdESSignatures")){const u=r.documentElement;if(u){const c=x(u,"ds\\:Signature, Signature");if(c){let i=Z(c,r);return i.rawXml=e,i}}const o=Ne(e);if(o)return Q(Y({},o),{rawXml:e})}return null}let s=Z(a[0],r);return s.rawXml=e,s}function Z(n,t){var e,r,a;const s=n.getAttribute("Id")||"unknown",u=x(n,"ds\\:SignedInfo, SignedInfo");if(!u)throw new Error("SignedInfo element not found");const o=x(u,"ds\\:CanonicalizationMethod, CanonicalizationMethod");let c=O.default;o&&(c=o.getAttribute("Algorithm")||c);let i="";i=se(u);const l=x(u,"ds\\:SignatureMethod, SignatureMethod"),g=(l==null?void 0:l.getAttribute("Algorithm"))||"",p=x(n,"ds\\:SignatureValue, SignatureValue"),f=((e=p==null?void 0:p.textContent)==null?void 0:e.replace(/\s+/g,""))||"",m=x(n,"ds\\:X509Certificate, X509Certificate");let y="",d="",h,C;if(m)y=((a=m.textContent)==null?void 0:a.replace(/\s+/g,""))||"";else{const E=x(n,"ds\\:KeyInfo, KeyInfo");if(E){const v=x(E,"ds\\:X509Data, X509Data");if(v){const D=x(v,"ds\\:X509Certificate, X509Certificate");D&&(y=((r=D.textContent)==null?void 0:r.replace(/\s+/g,""))||"")}}}if(y){d=H(y);try{const E=new z.X509Certificate(d),v=E.publicKey.algorithm;C=Q(Y({algorithm:v.name},"namedCurve"in v?{namedCurve:v.namedCurve}:{}),{rawData:E.publicKey.rawData}),h=q(E)}catch(E){console.error("Failed to extract certificate information:",E)}}const A=x(t,"xades\\:SigningTime, SigningTime"),$=A&&A.textContent?new Date(A.textContent.trim()):new Date,X=[],w={},N=K(u,"ds\\:Reference, Reference");for(const E of N){const v=E.getAttribute("URI")||"",D=E.getAttribute("Type")||"";if(!v||v.startsWith("#")||D.includes("SignedProperties"))continue;let L=v;try{L=decodeURIComponent(v)}catch(Ve){console.error(`Failed to decode URI: ${v}`,Ve)}const ie=L.startsWith("./")?L.substring(2):L;X.push(ie);const _=x(E,"ds\\:DigestValue, DigestValue");_&&_.textContent&&(w[ie]=_.textContent.replace(/\s+/g,""))}return{id:s,signingTime:$,certificate:y,certificatePEM:d,publicKey:C,signerInfo:h,signedChecksums:w,references:X,algorithm:g,signatureValue:f,signedInfoXml:i,canonicalizationMethod:c}}function Ne(n){try{const t=n.match(/<ds:Signature[^>]*Id=["']([^"']*)["']/),e=t&&t[1]?t[1]:"unknown",r=n.match(/<ds:SignatureValue[^>]*>([\s\S]*?)<\/ds:SignatureValue>/),a=r&&r[1]?r[1].replace(/\s+/g,""):"",s=n.match(/<ds:X509Certificate>([\s\S]*?)<\/ds:X509Certificate>/),u=s&&s[1]?s[1].replace(/\s+/g,""):"",o=n.match(/<ds:SignatureMethod[^>]*Algorithm=["']([^"']*)["']/),c=o&&o[1]?o[1]:"",i=n.match(/<xades:SigningTime>([\s\S]*?)<\/xades:SigningTime>/),l=i&&i[1]?new Date(i[1].trim()):new Date,g=[],p={},f=/<ds:Reference[^>]*URI=["']([^#][^"']*)["'][^>]*>[\s\S]*?<ds:DigestValue>([\s\S]*?)<\/ds:DigestValue>/g;let m;for(;(m=f.exec(n))!==null;)if(m[1]&&!m[1].startsWith("#")){const d=decodeURIComponent(m[1]);g.push(d),m[2]&&(p[d]=m[2].replace(/\s+/g,""))}const y=H(u);return{id:e,signingTime:l,certificate:u,certificatePEM:y,signedChecksums:p,references:g,algorithm:c,signatureValue:a}}catch(t){return console.error("Error in fallback text parsing:",t),null}}function ve(n){try{const t=I.unzipSync(n),e=new Map,r=[],a=[];Object.entries(t).forEach(([i,l])=>{e.set(i,l),i.startsWith("META-INF/")||i==="mimetype"?a.push(i):r.push(i)});const s=[],u=Ee(e),o=new Set;for(const i of u){const l=e.get(i);if(l)try{const g=we(l,i);g&&(s.push(g),g.references&&g.references.length>0&&g.references.forEach(p=>{e.has(p)&&o.add(p)}))}catch(g){console.error(`Error parsing signature ${i}:`,g)}}const c=Array.from(o);return{files:e,documentFileList:r,metadataFileList:a,signedFileList:c,signatures:s}}catch(t){throw new Error(`Failed to parse eDoc container: ${t instanceof Error?t.message:String(t)}`)}}function Se(n){const t=()=>{},e=new Uint8Array(n);if(e[0]!==48)return n;const r=[6,9,42,134,72,134,247,13,1,1,1];let a=-1;for(let m=0;m<=e.length-r.length;m++){let y=!0;for(let d=0;d<r.length;d++)if(e[m+d]!==r[d]){y=!1;break}if(y){a=m;break}}if(a===-1)return n;let s=-1;for(let m=a+r.length;m<e.length;m++)if(e[m]===3){s=m;break}if(s===-1)return n;let u=0;(e[s+1]&128)===0?u=1:u=1+(e[s+1]&127);const o=s+1+u;if(o>=e.length)return n;const c=o+1;if(c>=e.length||e[c]!==48)return n;let i=0;(e[c+1]&128)===0?i=1:i=1+(e[c+1]&127);const l=c+1+i;if(l>=e.length||e[l]!==2)return n;let g=0,p=0;if((e[l+1]&128)===0)p=e[l+1],g=1;else{const m=e[l+1]&127;g=1+m,p=0;for(let y=0;y<m;y++)p=p<<8|e[l+2+y]}const f=l+1+g;if(f>=e.length)return n;if((e[f]&128)!==0){const m=new Uint8Array(e.length+1);if(m.set(e.slice(0,f)),m[f]=0,m.set(e.slice(f),f+1),(e[l+1]&128)===0)m[l+1]=e[l+1]+1;else{const y=e[l+1]&127;let d=0;for(let h=0;h<y;h++)d=d<<8|e[l+2+h];d+=1;for(let h=y-1;h>=0;h--)m[l+2+h]=d&255,d>>=8}if((e[c+1]&128)===0)m[c+1]=e[c+1]+1;else{const y=e[c+1]&127;let d=0;for(let h=0;h<y;h++)d=d<<8|e[c+2+h];d+=1;for(let h=y-1;h>=0;h--)m[c+2+h]=d&255,d>>=8}if((e[s+1]&128)===0)m[s+1]=e[s+1]+1;else{const y=e[s+1]&127;let d=0;for(let h=0;h<y;h++)d=d<<8|e[s+2+h];d+=1;for(let h=y-1;h>=0;h--)m[s+2+h]=d&255,d>>=8}if((e[1]&128)===0)m[1]=e[1]+1;else{const y=e[1]&127;let d=0;for(let h=0;h<y;h++)d=d<<8|e[2+h];d+=1;for(let h=y-1;h>=0;h--)m[2+h]=d&255,d>>=8}return t("Fixed key length: "+m.length),m.buffer}return n}var be=Object.defineProperty,J=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,ee=(n,t,e)=>t in n?be(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,xe=(n,t)=>{for(var e in t||(t={}))Ce.call(t,e)&&ee(n,e,t[e]);if(J)for(var e of J(t))Te.call(t,e)&&ee(n,e,t[e]);return n},M=(n,t,e)=>new Promise((r,a)=>{var s=c=>{try{o(e.next(c))}catch(i){a(i)}},u=c=>{try{o(e.throw(c))}catch(i){a(i)}},o=c=>c.done?r(c.value):Promise.resolve(c.value).then(s,u);o((e=e.apply(n,t)).next())});function P(){return typeof window!="undefined"&&typeof window.crypto!="undefined"&&typeof window.crypto.subtle!="undefined"}function te(n,t){return M(this,null,function*(){const e=t.replace(/-/g,"").toLowerCase();let r;if(e.includes("sha256"))r="sha256";else if(e.includes("sha1"))r="sha1";else if(e.includes("sha384"))r="sha384";else if(e.includes("sha512"))r="sha512";else throw new Error(`Unsupported digest algorithm: ${t}`);return P()?Me(n,r):Ae(n,r)})}function Me(n,t){return M(this,null,function*(){const e={sha1:"SHA-1",sha256:"SHA-256",sha384:"SHA-384",sha512:"SHA-512"}[t];if(!e)throw new Error(`Unsupported browser digest algorithm: ${t}`);const r=yield window.crypto.subtle.digest(e,n),a=Array.from(new Uint8Array(r));return btoa(String.fromCharCode.apply(null,a))})}function Ae(n,t){return new Promise((e,r)=>{try{const a=require("crypto").createHash(t);a.update(Buffer.from(n)),e(a.digest("base64"))}catch(a){r(new Error(`Node digest computation failed: ${a instanceof Error?a.message:String(a)}`))}})}function ne(n,t){return M(this,null,function*(){const e={};let r=!0,a="SHA-256";n.algorithm&&(n.algorithm.includes("sha1")?a="SHA-1":n.algorithm.includes("sha384")?a="SHA-384":n.algorithm.includes("sha512")&&(a="SHA-512"));const s=Object.entries(n.signedChecksums).map(u=>M(this,[u],function*([o,c]){const i=t.get(o);if(i){const l=yield te(i,a),g=c===l;e[o]={expected:c,actual:l,matches:g,fileFound:!0},g||(r=!1)}else{const l=o.includes("/")?o.split("/").pop():o;let g=!1;if(l){for(const[p,f]of t.entries())if(p.endsWith(l)){const m=yield te(f,a),y=c===m;e[o]={expected:c,actual:m,matches:y,fileFound:!0},y||(r=!1),g=!0;break}}g||(e[o]={expected:c,actual:"",matches:!1,fileFound:!1},r=!1)}}));return yield Promise.all(s),{isValid:r,details:e}})}function $e(n){return M(this,arguments,function*(t,e=new Date){try{const r=new z.X509Certificate(t),a=ue(r,e),s=yield B(t);return{isValid:a.isValid,reason:a.reason,info:s}}catch(r){return{isValid:!1,reason:`Certificate parsing error: ${r instanceof Error?r.message:String(r)}`}}})}function re(){return P()?window.crypto.subtle:crypto.subtle}function De(n){if(typeof atob=="function"){const t=atob(n),e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}else{const t=Buffer.from(n,"base64");return new Uint8Array(t)}}function Oe(n,t,e,r,a){return M(this,null,function*(){try{const s=j().parseFromString(n,"application/xml"),u=x(s,"ds:SignedInfo");if(!u)return{isValid:!1,reason:"SignedInfo element not found in provided XML"};const o=a||O.default,c=b.canonicalize(u,o),i=t.replace(/\s+/g,"");let l;try{l=De(i)}catch(f){return{isValid:!1,reason:`Failed to decode signature value: ${f instanceof Error?f.message:String(f)}`}}let g;try{const f=re();P()&&r.name==="RSASSA-PKCS1-v1_5"&&(e=Se(e)),g=yield f.importKey("spki",e,r,!1,["verify"])}catch(f){const m=f instanceof Error?f:new Error(String(f));let y="Unknown reason",d="KEY_IMPORT_ERROR";if(m.name==="DataError"?(y="Key data format is invalid or incompatible",d="INVALID_KEY_FORMAT"):m.name==="NotSupportedError"?(y="Algorithm or parameters not supported",d="UNSUPPORTED_ALGORITHM"):m.message.includes("namedCurve")?(y="Missing or invalid namedCurve parameter",d="INVALID_CURVE"):m.message.includes("hash")&&(y="Incompatible or unsupported hash algorithm",d="INVALID_HASH"),r.name==="ECDSA"){const h=e.byteLength;y+=` (Key length: ${h})`}return{isValid:!1,reason:`Failed to import public key: ${y}`,errorDetails:{category:d,originalMessage:m.message,algorithm:xe({},r),environment:P()?"browser":"node",keyLength:e.byteLength}}}const p=new TextEncoder().encode(c);try{const f=yield re().verify(r,g,l,p);return{isValid:f,reason:f?void 0:"Signature verification failed"}}catch(f){return{isValid:!1,reason:`Signature verification error: ${f instanceof Error?f.message:String(f)}`}}}catch(s){return{isValid:!1,reason:`SignedInfo verification error: ${s instanceof Error?s.message:String(s)}`}}})}function Ie(n,t){return M(this,arguments,function*(e,r,a={}){const s=[],u=yield $e(e.certificatePEM,a.verifyTime||e.signingTime);if(!u.isValid){const i=`Certificate validation error: ${u.reason||"Unknown reason"}`;s.push(i)}const o=a.verifyChecksums!==!1?yield ne(e,r):{isValid:!0,details:{}};if(!o.isValid){const i=Object.entries(o.details).filter(([l,g])=>!g.matches).map(([l])=>l).join(", ");s.push(`Checksum validation failed for files: ${i}`)}let c={isValid:!0};if(a.verifySignatures!==!1&&e.rawXml&&e.signatureValue&&e.publicKey){const i=e.algorithm||"",l={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"};if(i.includes("ecdsa-sha256")?(l.name="ECDSA",l.hash="SHA-256",e.publicKey.namedCurve&&(l.namedCurve=e.publicKey.namedCurve)):i.includes("rsa-sha1")&&(l.hash="SHA-1"),c=yield Oe(e.rawXml,e.signatureValue,e.publicKey.rawData,l,e.canonicalizationMethod),!c.isValid){let g=c.reason||"XML signature verification failed";if(c.errorDetails){const p=c.errorDetails;g+=` [Category: ${p.category}, Environment: ${p.environment}`,p.algorithm&&(g+=`, Algorithm: ${p.algorithm.name}`,p.algorithm.namedCurve&&(g+=`, Curve: ${p.algorithm.namedCurve}`)),p.keyLength&&(g+=`, Key length: ${p.keyLength} bytes`),g+="]"}s.push(g)}}else if(a.verifySignatures!==!1){const i=[];e.rawXml||i.push("Signature XML"),e.signatureValue||i.push("SignatureValue"),e.publicKey||i.push("Public Key"),s.push(`Cannot verify XML signature: missing ${i.join(", ")}`),c={isValid:!1,reason:`Missing required components: ${i.join(", ")}`}}return{isValid:u.isValid&&o.isValid&&c.isValid,certificate:u,checksums:o,signature:a.verifySignatures!==!1?c:void 0,errors:s.length>0?s:void 0}})}T.CANONICALIZATION_METHODS=O,T.XMLCanonicalizer=b,T.formatValidityPeriod=de,T.getSignerDisplayName=fe,T.parseCertificate=B,T.parseEdoc=ve,T.verifyChecksums=ne,T.verifySignature=Ie,Object.defineProperty(T,"__esModule",{value:!0})});
|
|
14
|
+
-----END CERTIFICATE-----`}var pe=Object.defineProperty,ye=Object.defineProperties,we=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Z=(n,t,e)=>t in n?pe(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,J=(n,t)=>{for(var e in t||(t={}))Ee.call(t,e)&&Z(n,e,t[e]);if(Q)for(var e of Q(t))Ne.call(t,e)&&Z(n,e,t[e]);return n},ee=(n,t)=>ye(n,we(t));function Se(n){return Array.from(n.keys()).filter(t=>t.match(/META-INF\/signatures\d*\.xml$/)||t.match(/META-INF\/.*signatures.*\.xml$/i))}function ve(n,t){const e=new TextDecoder().decode(n),r=U().parseFromString(e,"application/xml"),a=K(r,"ds\\:Signature, Signature");if(a.length===0){if(console.warn(`No Signature elements found in ${t}`),e.includes("XAdESSignatures")){const u=r.documentElement;if(u){const c=A(u,"ds\\:Signature, Signature");if(c){let i=te(c,r);return i.rawXml=e,i}}const o=be(e);if(o)return ee(J({},o),{rawXml:e})}return null}let l=te(a[0],r);return l.rawXml=e,l}function te(n,t){var e,r,a;const l=n.getAttribute("Id")||"unknown",u=A(n,"ds\\:SignedInfo, SignedInfo");if(!u)throw new Error("SignedInfo element not found");const o=A(u,"ds\\:CanonicalizationMethod, CanonicalizationMethod");let c=O.default;o&&(c=o.getAttribute("Algorithm")||c);let i="";i=ue(u);const s=A(u,"ds\\:SignatureMethod, SignatureMethod"),p=(s==null?void 0:s.getAttribute("Algorithm"))||"",g=A(n,"ds\\:SignatureValue, SignatureValue"),f=((e=g==null?void 0:g.textContent)==null?void 0:e.replace(/\s+/g,""))||"",h=A(n,"ds\\:X509Certificate, X509Certificate");let y="",d="",m,C;if(h)y=((a=h.textContent)==null?void 0:a.replace(/\s+/g,""))||"";else{const N=A(n,"ds\\:KeyInfo, KeyInfo");if(N){const x=A(N,"ds\\:X509Data, X509Data");if(x){const P=A(x,"ds\\:X509Certificate, X509Certificate");P&&(y=((r=P.textContent)==null?void 0:r.replace(/\s+/g,""))||"")}}}if(y){d=Y(y);try{const N=new k.X509Certificate(d),x=N.publicKey.algorithm;C=ee(J({algorithm:x.name},"namedCurve"in x?{namedCurve:x.namedCurve}:{}),{rawData:N.publicKey.rawData}),m=W(N)}catch(N){console.error("Failed to extract certificate information:",N)}}const D=A(t,"xades\\:SigningTime, SigningTime"),$=D&&D.textContent?new Date(D.textContent.trim()):new Date,L=[],E={},w={},v=K(u,"ds\\:Reference, Reference");for(const N of v){const x=N.getAttribute("URI")||"",P=N.getAttribute("Type")||"";if(!x||x.startsWith("#")||P.includes("SignedProperties"))continue;let z=x;try{z=decodeURIComponent(x)}catch(_){console.error(`Failed to decode URI: ${x}`,_)}const F=z.startsWith("./")?z.substring(2):z;L.push(F);const se=A(N,"ds\\:DigestMethod, DigestMethod");if(se){const _=se.getAttribute("Algorithm");_&&(w[F]=_)}const j=A(N,"ds\\:DigestValue, DigestValue");j&&j.textContent&&(E[F]=j.textContent.replace(/\s+/g,""))}return{id:l,signingTime:$,certificate:y,certificatePEM:d,publicKey:C,signerInfo:m,signedChecksums:E,digestAlgorithms:w,references:L,algorithm:p,signatureValue:f,signedInfoXml:i,canonicalizationMethod:c}}function be(n){try{const t=n.match(/<ds:Signature[^>]*Id=["']([^"']*)["']/),e=t&&t[1]?t[1]:"unknown",r=n.match(/<ds:SignatureValue[^>]*>([\s\S]*?)<\/ds:SignatureValue>/),a=r&&r[1]?r[1].replace(/\s+/g,""):"",l=n.match(/<ds:X509Certificate>([\s\S]*?)<\/ds:X509Certificate>/),u=l&&l[1]?l[1].replace(/\s+/g,""):"",o=n.match(/<ds:SignatureMethod[^>]*Algorithm=["']([^"']*)["']/),c=o&&o[1]?o[1]:"",i=n.match(/<xades:SigningTime>([\s\S]*?)<\/xades:SigningTime>/),s=i&&i[1]?new Date(i[1].trim()):new Date,p=[],g={},f=/<ds:Reference[^>]*URI=["']([^#][^"']*)["'][^>]*>[\s\S]*?<ds:DigestValue>([\s\S]*?)<\/ds:DigestValue>/g;let h;for(;(h=f.exec(n))!==null;)if(h[1]&&!h[1].startsWith("#")){const d=decodeURIComponent(h[1]);p.push(d),h[2]&&(g[d]=h[2].replace(/\s+/g,""))}const y=Y(u);return{id:e,signingTime:s,certificate:u,certificatePEM:y,signedChecksums:g,references:p,algorithm:c,signatureValue:a}}catch(t){return console.error("Error in fallback text parsing:",t),null}}function Ce(n){try{const t=I.unzipSync(n),e=new Map,r=[],a=[];Object.entries(t).forEach(([i,s])=>{e.set(i,s),i.startsWith("META-INF/")||i==="mimetype"?a.push(i):r.push(i)});const l=[],u=Se(e),o=new Set;for(const i of u){const s=e.get(i);if(s)try{const p=ve(s,i);p&&(l.push(p),p.references&&p.references.length>0&&p.references.forEach(g=>{e.has(g)&&o.add(g)}))}catch(p){console.error(`Error parsing signature ${i}:`,p)}}const c=Array.from(o);return{files:e,documentFileList:r,metadataFileList:a,signedFileList:c,signatures:l}}catch(t){throw new Error(`Failed to parse eDoc container: ${t instanceof Error?t.message:String(t)}`)}}function Te(n){const t=()=>{},e=new Uint8Array(n);if(e[0]!==48)return n;const r=[6,9,42,134,72,134,247,13,1,1,1];let a=-1;for(let h=0;h<=e.length-r.length;h++){let y=!0;for(let d=0;d<r.length;d++)if(e[h+d]!==r[d]){y=!1;break}if(y){a=h;break}}if(a===-1)return n;let l=-1;for(let h=a+r.length;h<e.length;h++)if(e[h]===3){l=h;break}if(l===-1)return n;let u=0;(e[l+1]&128)===0?u=1:u=1+(e[l+1]&127);const o=l+1+u;if(o>=e.length)return n;const c=o+1;if(c>=e.length||e[c]!==48)return n;let i=0;(e[c+1]&128)===0?i=1:i=1+(e[c+1]&127);const s=c+1+i;if(s>=e.length||e[s]!==2)return n;let p=0,g=0;if((e[s+1]&128)===0)g=e[s+1],p=1;else{const h=e[s+1]&127;p=1+h,g=0;for(let y=0;y<h;y++)g=g<<8|e[s+2+y]}const f=s+1+p;if(f>=e.length)return n;if((e[f]&128)!==0){const h=new Uint8Array(e.length+1);if(h.set(e.slice(0,f)),h[f]=0,h.set(e.slice(f),f+1),(e[s+1]&128)===0)h[s+1]=e[s+1]+1;else{const y=e[s+1]&127;let d=0;for(let m=0;m<y;m++)d=d<<8|e[s+2+m];d+=1;for(let m=y-1;m>=0;m--)h[s+2+m]=d&255,d>>=8}if((e[c+1]&128)===0)h[c+1]=e[c+1]+1;else{const y=e[c+1]&127;let d=0;for(let m=0;m<y;m++)d=d<<8|e[c+2+m];d+=1;for(let m=y-1;m>=0;m--)h[c+2+m]=d&255,d>>=8}if((e[l+1]&128)===0)h[l+1]=e[l+1]+1;else{const y=e[l+1]&127;let d=0;for(let m=0;m<y;m++)d=d<<8|e[l+2+m];d+=1;for(let m=y-1;m>=0;m--)h[l+2+m]=d&255,d>>=8}if((e[1]&128)===0)h[1]=e[1]+1;else{const y=e[1]&127;let d=0;for(let m=0;m<y;m++)d=d<<8|e[2+m];d+=1;for(let m=y-1;m>=0;m--)h[2+m]=d&255,d>>=8}return t("Fixed key length: "+h.length),h.buffer}return n}var xe=Object.defineProperty,ne=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable,re=(n,t,e)=>t in n?xe(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,De=(n,t)=>{for(var e in t||(t={}))Ae.call(t,e)&&re(n,e,t[e]);if(ne)for(var e of ne(t))Me.call(t,e)&&re(n,e,t[e]);return n},M=(n,t,e)=>new Promise((r,a)=>{var l=c=>{try{o(e.next(c))}catch(i){a(i)}},u=c=>{try{o(e.throw(c))}catch(i){a(i)}},o=c=>c.done?r(c.value):Promise.resolve(c.value).then(l,u);o((e=e.apply(n,t)).next())});function X(){return typeof window!="undefined"&&typeof window.crypto!="undefined"&&typeof window.crypto.subtle!="undefined"}function ie(n,t){return M(this,null,function*(){const e=t.replace(/-/g,"").toLowerCase();let r;if(e.includes("sha256"))r="sha256";else if(e.includes("sha1"))r="sha1";else if(e.includes("sha384"))r="sha384";else if(e.includes("sha512"))r="sha512";else throw new Error(`Unsupported digest algorithm: ${t}`);return X()?$e(n,r):Oe(n,r)})}function $e(n,t){return M(this,null,function*(){const e={sha1:"SHA-1",sha256:"SHA-256",sha384:"SHA-384",sha512:"SHA-512"}[t];if(!e)throw new Error(`Unsupported browser digest algorithm: ${t}`);const r=yield window.crypto.subtle.digest(e,n),a=Array.from(new Uint8Array(r));return btoa(String.fromCharCode.apply(null,a))})}function Oe(n,t){return new Promise((e,r)=>{try{const a=require("crypto").createHash(t);a.update(Buffer.from(n)),e(a.digest("base64"))}catch(a){r(new Error(`Node digest computation failed: ${a instanceof Error?a.message:String(a)}`))}})}function Ie(n){const t=n.toLowerCase();return t.includes("sha512")?"SHA-512":t.includes("sha384")?"SHA-384":t.includes("sha256")?"SHA-256":t.includes("sha1")?"SHA-1":"SHA-256"}function oe(n,t){return M(this,null,function*(){const e={};let r=!0,a="SHA-256";n.algorithm&&(n.algorithm.includes("sha1")?a="SHA-1":n.algorithm.includes("sha384")?a="SHA-384":n.algorithm.includes("sha512")&&(a="SHA-512"));const l=Object.entries(n.signedChecksums).map(u=>M(this,[u],function*([o,c]){var i;const s=(i=n.digestAlgorithms)!=null&&i[o]?Ie(n.digestAlgorithms[o]):a,p=t.get(o);if(p){const g=yield ie(p,s),f=c===g;e[o]={expected:c,actual:g,matches:f,fileFound:!0},f||(r=!1)}else{const g=o.includes("/")?o.split("/").pop():o;let f=!1;if(g){for(const[h,y]of t.entries())if(h.endsWith(g)){const d=yield ie(y,s),m=c===d;e[o]={expected:c,actual:d,matches:m,fileFound:!0},m||(r=!1),f=!0;break}}f||(e[o]={expected:c,actual:"",matches:!1,fileFound:!1},r=!1)}}));return yield Promise.all(l),{isValid:r,details:e}})}function Ve(n){return M(this,arguments,function*(t,e=new Date){try{const r=new k.X509Certificate(t),a=me(r,e),l=yield G(t);return{isValid:a.isValid,reason:a.reason,info:l}}catch(r){return{isValid:!1,reason:`Certificate parsing error: ${r instanceof Error?r.message:String(r)}`}}})}function ae(){return X()?window.crypto.subtle:crypto.subtle}function Le(n){if(typeof atob=="function"){const t=atob(n),e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}else{const t=Buffer.from(n,"base64");return new Uint8Array(t)}}function Xe(n,t,e,r,a){return M(this,null,function*(){try{const l=U().parseFromString(n,"application/xml"),u=A(l,"ds:SignedInfo");if(!u)return{isValid:!1,reason:"SignedInfo element not found in provided XML"};const o=a||O.default,c=b.canonicalize(u,o),i=t.replace(/\s+/g,"");let s;try{s=Le(i)}catch(f){return{isValid:!1,reason:`Failed to decode signature value: ${f instanceof Error?f.message:String(f)}`}}let p;try{const f=ae();X()&&r.name==="RSASSA-PKCS1-v1_5"&&(e=Te(e)),p=yield f.importKey("spki",e,r,!1,["verify"])}catch(f){const h=f instanceof Error?f:new Error(String(f));let y="Unknown reason",d="KEY_IMPORT_ERROR";if(h.name==="DataError"?(y="Key data format is invalid or incompatible",d="INVALID_KEY_FORMAT"):h.name==="NotSupportedError"?(y="Algorithm or parameters not supported",d="UNSUPPORTED_ALGORITHM"):h.message.includes("namedCurve")?(y="Missing or invalid namedCurve parameter",d="INVALID_CURVE"):h.message.includes("hash")&&(y="Incompatible or unsupported hash algorithm",d="INVALID_HASH"),r.name==="ECDSA"){const m=e.byteLength;y+=` (Key length: ${m})`}return{isValid:!1,reason:`Failed to import public key: ${y}`,errorDetails:{category:d,originalMessage:h.message,algorithm:De({},r),environment:X()?"browser":"node",keyLength:e.byteLength}}}const g=new TextEncoder().encode(c);try{const f=yield ae().verify(r,p,s,g);return{isValid:f,reason:f?void 0:"Signature verification failed"}}catch(f){return{isValid:!1,reason:`Signature verification error: ${f instanceof Error?f.message:String(f)}`}}}catch(l){return{isValid:!1,reason:`SignedInfo verification error: ${l instanceof Error?l.message:String(l)}`}}})}function Pe(n,t){return M(this,arguments,function*(e,r,a={}){const l=[],u=yield Ve(e.certificatePEM,a.verifyTime||e.signingTime);if(!u.isValid){const i=`Certificate validation error: ${u.reason||"Unknown reason"}`;l.push(i)}const o=a.verifyChecksums!==!1?yield oe(e,r):{isValid:!0,details:{}};if(!o.isValid){const i=Object.entries(o.details).filter(([s,p])=>!p.matches).map(([s])=>s).join(", ");l.push(`Checksum validation failed for files: ${i}`)}let c={isValid:!0};if(a.verifySignatures!==!1&&e.rawXml&&e.signatureValue&&e.publicKey){const i=e.algorithm||"",s={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"};if(i.includes("ecdsa")&&e.publicKey.namedCurve&&(s.namedCurve=e.publicKey.namedCurve,s.name="ECDSA"),i.includes("ecdsa-sha256")?s.hash="SHA-256":i.includes("ecdsa-sha384")?s.hash="SHA-384":i.includes("ecdsa-sha512")?s.hash="SHA-512":i.includes("rsa-sha1")?s.hash="SHA-1":i.includes("rsa-pss")?(s.name="RSA-PSS",s.saltLength=32,i.includes("sha384")?(s.hash="SHA-384",s.saltLength=48):i.includes("sha512")?(s.hash="SHA-512",s.saltLength=64):s.hash="SHA-256"):i.includes("rsa-sha384")?s.hash="SHA-384":i.includes("rsa-sha512")&&(s.hash="SHA-512"),c=yield Xe(e.rawXml,e.signatureValue,e.publicKey.rawData,s,e.canonicalizationMethod),!c.isValid){let p=c.reason||"XML signature verification failed";if(c.errorDetails){const g=c.errorDetails;p+=` [Category: ${g.category}, Environment: ${g.environment}`,g.algorithm&&(p+=`, Algorithm: ${g.algorithm.name}`,g.algorithm.namedCurve&&(p+=`, Curve: ${g.algorithm.namedCurve}`)),g.keyLength&&(p+=`, Key length: ${g.keyLength} bytes`),p+="]"}l.push(p)}}else if(a.verifySignatures!==!1){const i=[];e.rawXml||i.push("Signature XML"),e.signatureValue||i.push("SignatureValue"),e.publicKey||i.push("Public Key"),l.push(`Cannot verify XML signature: missing ${i.join(", ")}`),c={isValid:!1,reason:`Missing required components: ${i.join(", ")}`}}return{isValid:u.isValid&&o.isValid&&c.isValid,certificate:u,checksums:o,signature:a.verifySignatures!==!1?c:void 0,errors:l.length>0?l:void 0}})}T.CANONICALIZATION_METHODS=O,T.XMLCanonicalizer=b,T.formatValidityPeriod=ge,T.getSignerDisplayName=he,T.parseCertificate=G,T.parseEdoc=Ce,T.verifyChecksums=oe,T.verifySignature=Pe,Object.defineProperty(T,"__esModule",{value:!0})});
|
|
15
15
|
//# sourceMappingURL=index.umd.js.map
|