enclose-io/compiler

View on GitHub
lts/lib/internal/crypto/certificate.js

Summary

Maintainability
A
0 mins
Test Coverage
'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;