@panva/asn1.js
Version:
ASN.1 encoder and decoder for Node.js with no dependencies (fork of asn1.js using native BigInt)
22 lines (16 loc) • 577 B
JavaScript
const { inherits } = require('util')
const DEREncoder = require('./der')
function PEMEncoder (entity) {
DEREncoder.call(this, entity)
this.enc = 'pem'
}
inherits(PEMEncoder, DEREncoder)
PEMEncoder.prototype.encode = function encode (data, options) {
const buf = DEREncoder.prototype.encode.call(this, data)
const p = buf.toString('base64')
const out = [`-----BEGIN ${options.label}-----`]
for (let i = 0; i < p.length; i += 64) { out.push(p.slice(i, i + 64)) }
out.push(`-----END ${options.label}-----`)
return out.join('\n')
}
module.exports = PEMEncoder