'use strict'; const { certExportChallenge, certExportPublicKey, certVerifySpkac } = internalBinding('crypto'); const { validateBuffer } = require('internal/validators'); const { getArrayBufferView } = require('internal/crypto/util'); function verifySpkac(spkac) { validateBuffer(spkac, 'spkac'); return certVerifySpkac(spkac); } function exportPublicKey(spkac, encoding) { return certExportPublicKey( getArrayBufferView(spkac, 'spkac', encoding) ); } function exportChallenge(spkac, encoding) { return certExportChallenge( getArrayBufferView(spkac, 'spkac', encoding) ); } // For backwards compatibility reasons, this cannot be converted into a // ES6 Class. function Certificate() { if (!(this instanceof Certificate)) return new Certificate(); } Certificate.prototype.verifySpkac = verifySpkac; Certificate.prototype.exportPublicKey = exportPublicKey; Certificate.prototype.exportChallenge = exportChallenge; Certificate.exportChallenge = exportChallenge; Certificate.exportPublicKey = exportPublicKey; Certificate.verifySpkac = verifySpkac; module.exports = Certificate;