Name

global.MapClientCertificateUtil

Description

No description available

Script

var MapClientCertificateUtil = Class.create();
MapClientCertificateUtil.prototype = Object.extendsObject(AbstractAjaxProcessor, {

  getSubjectName: function() {
      var X509Certificate = Packages.javax.security.cert.X509Certificate;
      var StringUtil = GlideStringUtil;
      var certDescription = "";
      var certEncoded = this.getCert();
      var certDecoded = decodeURIComponent(certEncoded);
      var str = certDecoded.toString();
      str = str.substring(str.indexOf('-----BEGIN CERTIFICATE-----') + 28, str.indexOf('-----END CERTIFICATE-----') - 1).trim();
      var bytes = StringUtil.base64DecodeAsBytes(str);
      var x509Cert = X509Certificate.getInstance(bytes);
      var subject = x509Cert.getSubjectDN().getName();
      var result = this.newItem("result");
      result.setAttribute("certDescription", subject);
  },

  validateResponse: function() {
      var success = SNC.AuthenticationHelper.associateUserCertificate(this.getCert());

      var result = this.newItem("result");
      result.setAttribute("success", success);
  },

  getCertHeader: function() {
      var cert = this.getCert();
      var certDecoded = decodeURIComponent(cert);
      var result = this.newItem("result");
      result.setAttribute("cert", certDecoded);
  },

  getCert: function() {
      var request = GlideTransaction.get().getRequest();
      var certHeader = request.getHeader("X-Client-Cert");
      return certHeader;
  },

  type: 'MapClientCertificateUtil'
});

Sys ID

cf497a32c3431010559d74c3e540dd68

Offical Documentation

Official Docs: