1 17 package org.apache.geronimo.console.keystores; 18 19 import org.apache.geronimo.console.MultiPageModel; 20 import org.apache.geronimo.management.geronimo.KeystoreException; 21 22 import javax.portlet.ActionRequest; 23 import javax.portlet.ActionResponse; 24 import javax.portlet.PortletException; 25 import javax.portlet.RenderRequest; 26 import javax.portlet.RenderResponse; 27 import java.io.IOException ; 28 import java.security.cert.Certificate ; 29 30 35 public class CertificateDetailsHandler extends BaseKeystoreHandler { 36 public CertificateDetailsHandler() { 37 super(CERTIFICATE_DETAILS, "/WEB-INF/view/keystore/certificateDetails.jsp"); 38 } 39 40 public String actionBeforeView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 41 String id = request.getParameter("id"); 42 String alias = request.getParameter("alias"); 43 response.setRenderParameter("id", id); 44 response.setRenderParameter("alias", alias); 45 return getMode(); 46 } 47 48 public void renderView(RenderRequest request, RenderResponse response, MultiPageModel model) throws PortletException, IOException { 49 String id = request.getParameter("id"); 50 String alias = request.getParameter("alias"); 51 if(alias == null && request.getParameterMap().containsKey("alias")) { 52 alias = ""; 54 } 55 KeystoreData data = ((KeystoreData) request.getPortletSession(true).getAttribute(KEYSTORE_DATA_PREFIX + id)); 56 Certificate cert; 57 try { 58 cert = data.getCertificate(alias); 59 } catch (KeystoreException e) { 60 throw new PortletException(e); 61 } 62 String type = "Trusted Certificate"; 63 boolean keyLocked = true; 64 String [] keys = data.getKeys(); 65 for(int i = 0; i < keys.length; ++i) { 66 if(keys[i].equals(alias)) { 67 type = "Private Key"; 68 keyLocked = data.getInstance().isKeyLocked(alias); 69 } 70 } 71 request.setAttribute("id", id); 72 request.setAttribute("alias", alias); 73 request.setAttribute("type", type); 74 request.setAttribute("keyLocked", new Boolean (keyLocked)); 75 request.setAttribute("certs", new Certificate [] {cert}); 77 } 78 79 public String actionAfterView(ActionRequest request, ActionResponse response, MultiPageModel model) throws PortletException, IOException { 80 String id = request.getParameter("id"); 81 response.setRenderParameter("id", id); 82 return VIEW_KEYSTORE+BEFORE_ACTION; 83 } 84 } 85 | Popular Tags |