@pokash/n8n-nodes-ksef 0.2.5 → 0.2.6
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.
|
@@ -79,6 +79,28 @@ function parsePfxCertificate(pfxBase64, password) {
|
|
|
79
79
|
throw new Error(`Failed to parse PFX certificate: ${error.message}. Ensure the certificate is valid and password is correct.`);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Decrypt PKCS#8 encrypted private key using node-forge
|
|
84
|
+
*/
|
|
85
|
+
function decryptPrivateKeyWithForge(encryptedPem, password) {
|
|
86
|
+
var _a;
|
|
87
|
+
// Extract base64 content
|
|
88
|
+
const base64Content = encryptedPem
|
|
89
|
+
.replace(/-----BEGIN ENCRYPTED PRIVATE KEY-----/g, '')
|
|
90
|
+
.replace(/-----END ENCRYPTED PRIVATE KEY-----/g, '')
|
|
91
|
+
.replace(/\s/g, '');
|
|
92
|
+
// Decode and decrypt using forge
|
|
93
|
+
const der = forge.util.decode64(base64Content);
|
|
94
|
+
const asn1 = forge.asn1.fromDer(der);
|
|
95
|
+
const decryptedAsn1 = forge.pki.decryptPrivateKeyInfo(asn1, password);
|
|
96
|
+
if (!decryptedAsn1) {
|
|
97
|
+
throw new Error('Failed to decrypt private key. Check the password.');
|
|
98
|
+
}
|
|
99
|
+
// Convert back to PEM format
|
|
100
|
+
const decryptedDer = forge.asn1.toDer(decryptedAsn1).getBytes();
|
|
101
|
+
const decryptedBase64 = forge.util.encode64(decryptedDer);
|
|
102
|
+
return `-----BEGIN PRIVATE KEY-----\n${(_a = decryptedBase64.match(/.{1,64}/g)) === null || _a === void 0 ? void 0 : _a.join('\n')}\n-----END PRIVATE KEY-----`;
|
|
103
|
+
}
|
|
82
104
|
/**
|
|
83
105
|
* Parse PEM certificate and key files (supports both RSA and EC keys)
|
|
84
106
|
*/
|
|
@@ -87,15 +109,21 @@ function parsePemCertificate(certificatePem, privateKeyPem, keyPassword) {
|
|
|
87
109
|
// Use Node.js X509Certificate for EC certificate support
|
|
88
110
|
const x509Cert = new crypto.X509Certificate(certificatePem);
|
|
89
111
|
const certificate = certificatePem;
|
|
90
|
-
// Parse private key
|
|
112
|
+
// Parse private key
|
|
91
113
|
let privateKey;
|
|
92
114
|
if (privateKeyPem.includes('ENCRYPTED')) {
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
115
|
+
// Try Node.js crypto first (faster, supports most formats)
|
|
116
|
+
try {
|
|
117
|
+
const keyObject = crypto.createPrivateKey({
|
|
118
|
+
key: privateKeyPem,
|
|
119
|
+
passphrase: keyPassword || '',
|
|
120
|
+
});
|
|
121
|
+
privateKey = keyObject.export({ type: 'pkcs8', format: 'pem' });
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// Fallback to node-forge for older/specific encryption formats
|
|
125
|
+
privateKey = decryptPrivateKeyWithForge(privateKeyPem, keyPassword || '');
|
|
126
|
+
}
|
|
99
127
|
}
|
|
100
128
|
else {
|
|
101
129
|
// Unencrypted key - validate it can be parsed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XadesHelper.js","sourceRoot":"","sources":["../../../nodes/Ksef/XadesHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,kDAyCC;
|
|
1
|
+
{"version":3,"file":"XadesHelper.js","sourceRoot":"","sources":["../../../nodes/Ksef/XadesHelper.ts"],"names":[],"mappings":"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"}
|