001    /**
002     *  Licensed to the Apache Software Foundation (ASF) under one or more
003     *  contributor license agreements.  See the NOTICE file distributed with
004     *  this work for additional information regarding copyright ownership.
005     *  The ASF licenses this file to You under the Apache License, Version 2.0
006     *  (the "License"); you may not use this file except in compliance with
007     *  the License.  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    package org.apache.geronimo.console.keystores;
018    
019    import java.io.IOException;
020    
021    import javax.portlet.ActionRequest;
022    import javax.portlet.ActionResponse;
023    import javax.portlet.PortletException;
024    import javax.portlet.RenderRequest;
025    import javax.portlet.RenderResponse;
026    
027    import org.apache.geronimo.console.MultiPageModel;
028    import org.apache.geronimo.management.geronimo.KeystoreException;
029    
030    /**
031     * Handler for importing a certficate issued by a CA
032     *
033     * @version $Rev: 557540 $ $Date: 2007-07-19 05:54:10 -0400 (Thu, 19 Jul 2007) $
034     */
035    public class ImportCAReplyHandler extends BaseKeystoreHandler {
036        public ImportCAReplyHandler() {
037            super(IMPORT_CA_REPLY, "/WEB-INF/view/keystore/importCAReply.jsp");
038        }
039    
040        public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
041            String id = request.getParameter("id");
042            String alias = request.getParameter("alias");
043            response.setRenderParameter("id", id);
044            response.setRenderParameter("alias", alias);
045            return getMode();
046        }
047            public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException {
048                    String id = request.getParameter("id");
049            String alias = request.getParameter("alias");
050            request.setAttribute("id", id);
051            request.setAttribute("alias", alias);
052        }
053    
054        public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException {
055            String id = request.getParameter("id");
056            String alias = request.getParameter("alias");
057            response.setRenderParameter("id", id);
058            response.setRenderParameter("alias", alias);
059            if("Cancel".equals(request.getParameter("submit")))
060                    return CERTIFICATE_DETAILS+BEFORE_ACTION;
061            String pkcs7cert = request.getParameter("pkcs7cert");
062            if(pkcs7cert != null) {
063                pkcs7cert = pkcs7cert.trim();
064            }
065            KeystoreData data = ((KeystoreData) request.getPortletSession(true).getAttribute(KEYSTORE_DATA_PREFIX + id));
066            try {
067                data.importPKCS7Certificate(alias, pkcs7cert);
068            } catch (KeystoreException e) {
069                throw new PortletException(e);
070            }
071            return CERTIFICATE_DETAILS+BEFORE_ACTION;
072        }
073    }