Example #1
0
  protected void initKeyProvider() {
    if (!doSupportSignature()) {
      return;
    }

    SPType configuration = getConfiguration();
    KeyProviderType keyProvider = configuration.getKeyProvider();

    if (keyProvider == null && doSupportSignature()) {
      throw new RuntimeException(
          ErrorCodes.NULL_VALUE + "KeyProvider is null for context=" + getContextPath());
    }

    try {
      String keyManagerClassName = keyProvider.getClassName();
      if (keyManagerClassName == null) {
        throw new RuntimeException(ErrorCodes.NULL_VALUE + "KeyManager class name");
      }

      Class<?> clazz = SecurityActions.loadClass(getClass(), keyManagerClassName);

      if (clazz == null) {
        throw new ClassNotFoundException(ErrorCodes.CLASS_NOT_LOADED + keyManagerClassName);
      }

      TrustKeyManager keyManager = (TrustKeyManager) clazz.newInstance();

      List<AuthPropertyType> authProperties = CoreConfigUtil.getKeyProviderProperties(keyProvider);

      keyManager.setAuthProperties(authProperties);
      keyManager.setValidatingAlias(keyProvider.getValidatingAlias());

      String identityURL = configuration.getIdentityURL();

      // Special case when you need X509Data in SignedInfo
      if (authProperties != null) {
        for (AuthPropertyType authPropertyType : authProperties) {
          String key = authPropertyType.getKey();
          if (GeneralConstants.X509CERTIFICATE.equals(key)) {
            // we need X509Certificate in SignedInfo. The value is the alias name
            keyManager.addAdditionalOption(
                GeneralConstants.X509CERTIFICATE, authPropertyType.getValue());
            break;
          }
        }
      }
      keyManager.addAdditionalOption(
          ServiceProviderBaseProcessor.IDP_KEY, new URL(identityURL).getHost());
      this.keyManager = keyManager;
    } catch (Exception e) {
      logger.trustKeyManagerCreationError(e);
      throw new RuntimeException(e.getLocalizedMessage());
    }

    logger.trace("Key Provider=" + keyProvider.getClassName());
  }
  public void _jspService(HttpServletRequest request, HttpServletResponse response)
      throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\n\n\n\n\n\n\n\n\n\n\n");
      org.jivesoftware.util.WebManager webManager = null;
      synchronized (_jspx_page_context) {
        webManager =
            (org.jivesoftware.util.WebManager)
                _jspx_page_context.getAttribute("webManager", PageContext.PAGE_SCOPE);
        if (webManager == null) {
          webManager = new org.jivesoftware.util.WebManager();
          _jspx_page_context.setAttribute("webManager", webManager, PageContext.PAGE_SCOPE);
        }
      }
      out.write('\n');

      webManager.init(request, response, session, application, out);
      DBManager dbManager = DBManager.getInstance();
      Iterator<User> users = webManager.getUserManager().getUsers().iterator();

      Msn msn = null;
      // Get Action
      boolean create = request.getParameter("create") != null;
      boolean cancel = request.getParameter("cancel") != null;

      // Get data

      Map<String, String> errors = new HashMap<String, String>();

      if (cancel) {
        String user = request.getParameter("user");
        if (user != null & !"".equals(user)) {
          response.sendRedirect("pf-main.jsp?user="******"pf-main.jsp");
        }
        return;
      }
      if (create) {
        String input_jid = null;
        try {
          input_jid = request.getParameter("jid");
          String input_msn = request.getParameter("msn");
          String input_enable = request.getParameter("enable");
          if (input_jid == null || "".equals(input_jid)) {
            errors.put("add_msn_error", "jid can not be null");
          }

          if (input_msn == null || "".equals(input_msn)) {
            errors.put("add_msn_error", "msn can not be null");
          }

          int enable = 0;
          if (input_enable == null) {
            enable = 0;
          } else {
            enable = 1;
          }

          dbManager.addMsn(input_jid, input_msn, enable);
        } catch (Exception e) {
          Log.error(e);
          errors.put("add_msn_error", e.getLocalizedMessage());
        }
        if (errors.isEmpty()) {
          response.sendRedirect("pf-main.jsp?user="******"\n<html>\n<head>\n    <title>\n        ");
      if (_jspx_meth_fmt_message_0(_jspx_page_context)) return;
      out.write(
          "\n\n    </title>\n    <meta name=\"pageID\" content=\"addMsn\"/>\n    <script language=\"JavaScript\" type=\"text/javascript\" src=\"scripts/packetfilter.js\"></script>\n</head>\n<body>\n\n");
      if (!errors.isEmpty()) {
        out.write(
            "\n\n<div class=\"jive-error\">\n    <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n        <tbody>\n        <tr>\n            <td class=\"jive-icon\"><img src=\"/images/error-16x16.gif\" width=\"16\" height=\"16\" border=\"0\"/></td>\n            <td class=\"jive-icon-label\">\n\n                ");
        if (errors.get("add_msn_error") != null) {
          out.write("\n                ");
          out.print(errors.get("add_msn_error"));
          out.write("\n                ");
        }
        out.write(
            "\n            </td>\n        </tr>\n        </tbody>\n    </table>\n</div>\n<br>\n\n");
      }
      out.write(
          "\n\n<form action=\"msn-form.jsp\" method=\"get\">\n    <div class=\"jive-table\">\n        <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">\n            <tbody>\n            <tr class=\"jive-even\">\n                <td>JID</td>\n                <td>\n                    <select name=\"jid\" id=\"jid\">\n                        ");

      if (users != null) {
        while (users.hasNext()) {
          User user = users.next();
          out.write("\n                            <option value=\"");
          out.print(user.getUsername());
          out.write('"');
          out.write('>');
          out.print(user.getUsername());
          out.write("</option>\n                        ");
        }
      }

      out.write("\n                    </select>\n\n\n                   ");
      // <input type="text" name="jid" value="" size="40"/>
      out.write(
          "\n                </td>\n            </tr>\n            <tr class=\"jive-odd\">\n                <td>Msn</td>\n                <td>\n                    <input type=\"text\" name=\"msn\" value=\"\" size=\"40\"/>\n                </td>\n\n            </tr>\n            <tr class=\"jive-even\">\n                <td>Enable</td>\n                <td>\n                    <input type=\"checkbox\" name=\"enable\" value=\"true\" checked>\n                </td>\n\n            </tr>\n\n\n            <tr>\n                <td>\n                    <input type=\"submit\" name=\"create\" value=\"");
      if (_jspx_meth_fmt_message_1(_jspx_page_context)) return;
      out.write("\">\n                    <input type=\"submit\" name=\"cancel\" value=\"");
      if (_jspx_meth_fmt_message_2(_jspx_page_context)) return;
      out.write(
          "\">\n                </td>\n                <td>&nbsp;</td>\n            </tr>\n            </tbody>\n        </table>\n\n    </div>\n</form>\n\n</body>\n</html>\n\n");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0) out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
      }
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }