In this tutorial we will see how to read the data contained in a CSR file with Node.js.
We can use the node-forge
module like this.
'use strict';
const forge = require('node-forge');
const validator = require('validator');
class CSR {
static getCSRAttributes(crt) {
if(validator.isEmpty(crt)) {
return [];
}
const cert = forge.pki.certificationRequestFromPem(crt);
return cert.subject.attributes;
}
}
module.exports = CSR;
The node-forge
module method returns an array of objects that match the attributes contained in the CSR file,
such as the countryName
, the commonName
and the emailAddress
attribute.
Each object has between its properties name
(for example emailAddress
) and value
,
which corresponds to the attribute value (e.g. gabriele@gabrieleromanato.com
in this case).
crt
is the text string of the CSR file, so this method can be used either by taking the input
from a textarea
field of a form or by uploading the file and reading its contents as a string.
The returned array contains only the attributes that were specified when the CSR file was created. The ones that have been omitted are not present in this array.