예제 #1
0
  public void update(HttpServletRequest request, HttpServletResponse response, Context context)
      throws IOException {
    IConfigStore config = CMS.getConfigStore();
    String subsystemNick;
    try {
      subsystemNick = config.getString("preop.cert.subsystem.nickname");
    } catch (EBaseException e1) {
      e1.printStackTrace();
      throw new IOException("Failed to get subsystem certificate nickname");
    }

    String url = HttpInput.getString(request, "urls");
    URI caUri = null;
    String parsedURI = url.substring(url.lastIndexOf("http"));
    try {
      caUri = new URI(parsedURI);
    } catch (URISyntaxException e) {
      throw new IOException("Invalid URI " + parsedURI);
    }

    // TODO: get installer from session
    TPSInstaller installer = new TPSInstaller();
    installer.configureCAConnector(caUri, subsystemNick);

    String host = caUri.getHost();
    int port = caUri.getPort();

    // Note -
    // list contains EE port. If admin port is different, it needs to
    // be obtained from security domain and used to get the cert chain

    /* int admin_port = ConfigurationUtils.getPortFromSecurityDomain(domainXML,
            host, port, "CA", "SecurePort", "SecureAdminPort");
    */

    try {
      ConfigurationUtils.importCertChain(host, port, "/ca/admin/ca/getCertChain", "ca");
    } catch (CertificateException
        | SAXException
        | ParserConfigurationException
        | NotInitializedException
        | TokenException
        | EBaseException e) {
      e.printStackTrace();
      throw new IOException("Failed to import certificate chain from CA");
    }

    context.put("updateStatus", "success");
  }
예제 #2
0
  public void display(HttpServletRequest request, HttpServletResponse response, Context context) {
    String errorString = "";
    context.put("title", "CA Information");
    context.put("panel", "admin/console/config/cainfopanel.vm");
    IConfigStore config = CMS.getConfigStore();

    if (isPanelDone()) {
      // TODO - put the selected URL in selection box.
      // String s = config.getString("preop.cainfo.select");
    }

    // get CA URLs
    Vector<String> v;
    try {
      v = null;
      v = ConfigurationUtils.getUrlListFromSecurityDomain(config, "CA", "SecurePort");
      if (v == null) {
        errorString =
            "No CA found.  CA, TKS and optionally DRM "
                + " must be installed prior to TPS installation";
        context.put("errorString", errorString);
        context.put("preop.cainfo.errorString", errorString);
        return;
      }

      config.putString("preop.ca.list", StringUtils.join(v, ","));
      config.commit(false);
    } catch (EBaseException | IOException | SAXException | ParserConfigurationException e) {
      e.printStackTrace();
      errorString = "Failed to get CA information from security domain. " + e;
      context.put("errorString", errorString);
      context.put("preop.cainfo.errorString", errorString);
      return;
    }

    context.put("urls", v);
    context.put("urls_size", v.size());
    context.put("errorString", "");
    context.put("preop.cainfo.errorString", "");
  }