@pokash/n8n-nodes-ksef 0.2.8 → 0.2.10
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.
|
@@ -280,14 +280,16 @@ async function authenticateWithXades() {
|
|
|
280
280
|
async function ksefApiRequestXml(method, endpoint, xmlBase64, sessionToken) {
|
|
281
281
|
const credentials = (await this.getCredentials('ksefApi'));
|
|
282
282
|
const baseUrl = getBaseUrl(credentials);
|
|
283
|
+
// Decode base64 to get the raw XML string
|
|
284
|
+
const xmlContent = Buffer.from(xmlBase64, 'base64').toString('utf-8');
|
|
283
285
|
const options = {
|
|
284
286
|
method,
|
|
285
287
|
url: `${baseUrl}${endpoint}`,
|
|
286
288
|
headers: {
|
|
287
|
-
'Content-Type': 'application/
|
|
289
|
+
'Content-Type': 'application/xml; charset=utf-8',
|
|
288
290
|
Accept: 'application/json',
|
|
289
291
|
},
|
|
290
|
-
body:
|
|
292
|
+
body: xmlContent,
|
|
291
293
|
};
|
|
292
294
|
if (sessionToken) {
|
|
293
295
|
options.headers['SessionToken'] = sessionToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Ksef/GenericFunctions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,gCAEC;AAKD,wCAsCC;AAKD,0DAgCC;AAKD,4CAWC;AA4DD,sDA8BC;AA4ED,sDAqCC;AAKD,
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Ksef/GenericFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -190,38 +190,156 @@ function detectKeyType(privateKey) {
|
|
|
190
190
|
const keyObject = crypto.createPrivateKey(privateKey);
|
|
191
191
|
return keyObject.asymmetricKeyType === 'ec' ? 'ec' : 'rsa';
|
|
192
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Convert DER-encoded ECDSA signature to XML Signature format (IEEE P1363)
|
|
195
|
+
* ECDSA signatures from Node.js crypto are in DER format (ASN.1)
|
|
196
|
+
* XML Signature expects concatenated r||s format
|
|
197
|
+
*/
|
|
198
|
+
function derToP1363(derSignature, keySize) {
|
|
199
|
+
// Parse DER structure: SEQUENCE { INTEGER r, INTEGER s }
|
|
200
|
+
let offset = 0;
|
|
201
|
+
// Check SEQUENCE tag (0x30)
|
|
202
|
+
if (derSignature[offset++] !== 0x30) {
|
|
203
|
+
throw new Error('Invalid DER signature: expected SEQUENCE');
|
|
204
|
+
}
|
|
205
|
+
// Skip length byte(s)
|
|
206
|
+
let seqLen = derSignature[offset++];
|
|
207
|
+
if (seqLen & 0x80) {
|
|
208
|
+
const lenBytes = seqLen & 0x7f;
|
|
209
|
+
offset += lenBytes;
|
|
210
|
+
}
|
|
211
|
+
// Parse r INTEGER
|
|
212
|
+
if (derSignature[offset++] !== 0x02) {
|
|
213
|
+
throw new Error('Invalid DER signature: expected INTEGER for r');
|
|
214
|
+
}
|
|
215
|
+
let rLen = derSignature[offset++];
|
|
216
|
+
let r = derSignature.subarray(offset, offset + rLen);
|
|
217
|
+
offset += rLen;
|
|
218
|
+
// Parse s INTEGER
|
|
219
|
+
if (derSignature[offset++] !== 0x02) {
|
|
220
|
+
throw new Error('Invalid DER signature: expected INTEGER for s');
|
|
221
|
+
}
|
|
222
|
+
let sLen = derSignature[offset++];
|
|
223
|
+
let s = derSignature.subarray(offset, offset + sLen);
|
|
224
|
+
// Remove leading zeros (ASN.1 integers are signed, so may have leading 0x00)
|
|
225
|
+
while (r.length > keySize && r[0] === 0) {
|
|
226
|
+
r = r.subarray(1);
|
|
227
|
+
}
|
|
228
|
+
while (s.length > keySize && s[0] === 0) {
|
|
229
|
+
s = s.subarray(1);
|
|
230
|
+
}
|
|
231
|
+
// Pad to keySize bytes
|
|
232
|
+
const result = Buffer.alloc(keySize * 2);
|
|
233
|
+
r.copy(result, keySize - r.length);
|
|
234
|
+
s.copy(result, keySize * 2 - s.length);
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Sign data with ECDSA-SHA256 and return base64 signature in XML Signature format
|
|
239
|
+
*/
|
|
240
|
+
function signEcdsa(data, privateKey) {
|
|
241
|
+
const sign = crypto.createSign('SHA256');
|
|
242
|
+
sign.update(data);
|
|
243
|
+
const derSignature = sign.sign(privateKey);
|
|
244
|
+
// Convert DER to P1363 format (32 bytes for P-256)
|
|
245
|
+
const p1363Signature = derToP1363(derSignature, 32);
|
|
246
|
+
return p1363Signature.toString('base64');
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Simple XML canonicalization (Exclusive C14N approximation)
|
|
250
|
+
* For our use case, we normalize whitespace and attribute order
|
|
251
|
+
*/
|
|
252
|
+
function canonicalizeXml(xmlContent) {
|
|
253
|
+
// Remove XML declaration
|
|
254
|
+
let xml = xmlContent.replace(/<\?xml[^?]*\?>\s*/g, '');
|
|
255
|
+
// Normalize whitespace between tags (but preserve content)
|
|
256
|
+
xml = xml.replace(/>\s+</g, '><');
|
|
257
|
+
// Remove leading/trailing whitespace
|
|
258
|
+
xml = xml.trim();
|
|
259
|
+
return xml;
|
|
260
|
+
}
|
|
193
261
|
/**
|
|
194
262
|
* Sign XML document with XAdES-BES signature (supports RSA and EC keys)
|
|
195
263
|
*/
|
|
196
264
|
function signXmlWithXades(xmlContent, privateKey, certificate) {
|
|
197
|
-
// Detect key type and select appropriate signature algorithm
|
|
198
265
|
const keyType = detectKeyType(privateKey);
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return
|
|
266
|
+
if (keyType === 'rsa') {
|
|
267
|
+
// Use xml-crypto for RSA (native support)
|
|
268
|
+
const sig = new xml_crypto_1.SignedXml({
|
|
269
|
+
privateKey,
|
|
270
|
+
canonicalizationAlgorithm: 'http://www.w3.org/2001/10/xml-exc-c14n#',
|
|
271
|
+
signatureAlgorithm: 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256',
|
|
272
|
+
getKeyInfoContent: createKeyInfoProvider(certificate).getKeyInfo,
|
|
273
|
+
});
|
|
274
|
+
sig.addReference({
|
|
275
|
+
xpath: '/*',
|
|
276
|
+
digestAlgorithm: 'http://www.w3.org/2001/04/xmlenc#sha256',
|
|
277
|
+
transforms: [
|
|
278
|
+
'http://www.w3.org/2000/09/xmldsig#enveloped-signature',
|
|
279
|
+
'http://www.w3.org/2001/10/xml-exc-c14n#',
|
|
280
|
+
],
|
|
281
|
+
});
|
|
282
|
+
sig.computeSignature(xmlContent, {
|
|
283
|
+
location: {
|
|
284
|
+
reference: '/*',
|
|
285
|
+
action: 'append',
|
|
286
|
+
},
|
|
287
|
+
});
|
|
288
|
+
return sig.getSignedXml();
|
|
289
|
+
}
|
|
290
|
+
// Manual ECDSA signing for EC keys
|
|
291
|
+
return signXmlWithEcdsa(xmlContent, privateKey, certificate);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Sign XML document with ECDSA-SHA256 (manual implementation)
|
|
295
|
+
*/
|
|
296
|
+
function signXmlWithEcdsa(xmlContent, privateKey, certificate) {
|
|
297
|
+
// Extract certificate content for KeyInfo
|
|
298
|
+
const certContent = certificate
|
|
299
|
+
.replace(/-----BEGIN CERTIFICATE-----/g, '')
|
|
300
|
+
.replace(/-----END CERTIFICATE-----/g, '')
|
|
301
|
+
.replace(/\s/g, '');
|
|
302
|
+
// Calculate digest of the document (after applying transforms)
|
|
303
|
+
// First, canonicalize the document
|
|
304
|
+
const canonicalDoc = canonicalizeXml(xmlContent);
|
|
305
|
+
const digestHash = crypto.createHash('sha256').update(canonicalDoc).digest('base64');
|
|
306
|
+
// Build SignedInfo element
|
|
307
|
+
const signedInfoXml = `<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">` +
|
|
308
|
+
`<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>` +
|
|
309
|
+
`<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"/>` +
|
|
310
|
+
`<ds:Reference URI="">` +
|
|
311
|
+
`<ds:Transforms>` +
|
|
312
|
+
`<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>` +
|
|
313
|
+
`<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>` +
|
|
314
|
+
`</ds:Transforms>` +
|
|
315
|
+
`<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>` +
|
|
316
|
+
`<ds:DigestValue>${digestHash}</ds:DigestValue>` +
|
|
317
|
+
`</ds:Reference>` +
|
|
318
|
+
`</ds:SignedInfo>`;
|
|
319
|
+
// Canonicalize SignedInfo and sign it
|
|
320
|
+
const canonicalSignedInfo = canonicalizeXml(signedInfoXml);
|
|
321
|
+
const signatureValue = signEcdsa(canonicalSignedInfo, privateKey);
|
|
322
|
+
// Build complete Signature element
|
|
323
|
+
const signatureXml = `<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">` +
|
|
324
|
+
signedInfoXml +
|
|
325
|
+
`<ds:SignatureValue>${signatureValue}</ds:SignatureValue>` +
|
|
326
|
+
`<ds:KeyInfo>` +
|
|
327
|
+
`<ds:X509Data>` +
|
|
328
|
+
`<ds:X509Certificate>${certContent}</ds:X509Certificate>` +
|
|
329
|
+
`</ds:X509Data>` +
|
|
330
|
+
`</ds:KeyInfo>` +
|
|
331
|
+
`</ds:Signature>`;
|
|
332
|
+
// Insert signature into document (enveloped signature)
|
|
333
|
+
// Find the closing tag of the root element and insert before it
|
|
334
|
+
const lastTagMatch = xmlContent.match(/<\/[^>]+>\s*$/);
|
|
335
|
+
if (!lastTagMatch) {
|
|
336
|
+
throw new Error('Could not find closing tag in XML document');
|
|
337
|
+
}
|
|
338
|
+
const insertPosition = xmlContent.lastIndexOf(lastTagMatch[0]);
|
|
339
|
+
const signedXml = xmlContent.substring(0, insertPosition) +
|
|
340
|
+
signatureXml +
|
|
341
|
+
xmlContent.substring(insertPosition);
|
|
342
|
+
return signedXml;
|
|
225
343
|
}
|
|
226
344
|
/**
|
|
227
345
|
* Generate XAdES-BES signed document for KSeF authentication (API v2)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XadesHelper.js","sourceRoot":"","sources":["../../../nodes/Ksef/XadesHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,kDAyCC;AA+BD,kDA0CC;AAMD,4DAuBC;
|
|
1
|
+
{"version":3,"file":"XadesHelper.js","sourceRoot":"","sources":["../../../nodes/Ksef/XadesHelper.ts"],"names":[],"mappings":"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"}
|