const crypto = require('crypto') function sha256(buf) { if (!buf) return null const hash = crypto.createHash('sha256') hash.update(buf) return hash.digest('hex').toString('hex') } const populateDeviceId = function (req, res, next) { const peerCert = req.socket.getPeerCertificate ? req.socket.getPeerCertificate() : null const deviceId = peerCert?.raw ? sha256(peerCert.raw) : null if (!deviceId) return res.status(500).json({ error: 'Unable to find certificate' }) req.deviceId = deviceId req.deviceTime = req.get('date') next() } module.exports = populateDeviceId