Skip to content

Commit 106eeb7

Browse files
using cert.serial number in case of no serial no attribute
1 parent 0324441 commit 106eeb7

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

src/authentication/util/Utility.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -509,21 +509,17 @@ exports.extractResponseMleKid = function(filePath, password, merchantId, logger)
509509
if (cn.toLowerCase() === merchantId.toLowerCase()) {
510510
logger.debug(`Found certificate with matching CN: ${cn}`);
511511

512-
// Extract serial number from certificate subject
513-
let serialNumber = null;
514-
for (const attr of cert.subject.attributes) {
515-
if (attr.name === 'serialNumber' || attr.shortName === 'serialNumber') {
516-
serialNumber = attr.value;
517-
break;
518-
}
519-
}
512+
const serialNumberAttr = cert.subject.attributes.find(attr => attr.name === 'serialNumber');
513+
let serialNumber;
520514

521-
if (!serialNumber) {
522-
logger.debug(`Certificate with CN=${cn} has no serialNumber in subject, continuing search`);
523-
continue;
515+
if (serialNumberAttr) {
516+
serialNumber = serialNumberAttr.value;
517+
} else {
518+
logger.warn(`Serial number not found in certificate subject for merchantId ${merchantId}, using certificate serial number as fallback`);
519+
serialNumber = cert.serialNumber;
524520
}
525521

526-
logger.debug(`Serial number (MLE KID) extracted from certificate subject: ${serialNumber}`);
522+
logger.debug(`Serial number (MLE KID) extracted: ${serialNumber}`);
527523

528524
return serialNumber;
529525
}

0 commit comments

Comments
 (0)