1 19 20 package com.sslexplorer.keystore.wizards.types; 21 22 import java.io.File ; 23 import java.security.cert.Certificate ; 24 import java.security.cert.X509Certificate ; 25 26 import javax.servlet.http.HttpServletRequest ; 27 28 import org.apache.struts.Globals; 29 import org.apache.struts.action.ActionMessage; 30 import org.apache.struts.action.ActionMessages; 31 32 import com.sslexplorer.boot.ContextKey; 33 import com.sslexplorer.boot.KeyStoreManager; 34 import com.sslexplorer.core.CoreAttributeConstants; 35 import com.sslexplorer.core.CoreEvent; 36 import com.sslexplorer.core.CoreEventConstants; 37 import com.sslexplorer.core.CoreServlet; 38 import com.sslexplorer.keystore.wizards.AbstractKeyStoreImportType; 39 import com.sslexplorer.properties.Property; 40 import com.sslexplorer.security.SessionInfo; 41 import com.sslexplorer.wizard.AbstractWizardSequence; 42 43 44 50 public class TrustedServerCertificateImportType extends AbstractKeyStoreImportType { 51 52 53 56 public final static String TRUSTED_SERVER_CERTIFICATE = "trustedServerCertificate"; 57 58 61 public TrustedServerCertificateImportType() { 62 super(TRUSTED_SERVER_CERTIFICATE, "keystore", false, true, 30); 63 } 64 65 68 public void validate(ActionMessages errs, String alias, String passphrase, AbstractWizardSequence seq, SessionInfo sessionInfo) { 69 super.validate(errs, alias, passphrase, seq, sessionInfo); 70 if(alias==null || alias.equals("")) { 71 errs.add(Globals.ERROR_KEY, new ActionMessage("keyStoreImportWizard.keyStoreImportFile.noNameProvided")); 72 } 73 else { 74 KeyStoreManager mgr = KeyStoreManager.getInstance(KeyStoreManager.TRUSTED_SERVER_CERTIFICATES_KEY_STORE); 75 if(mgr.getCertificate(alias.toLowerCase()) != null) { 76 errs.add(Globals.ERROR_KEY, new ActionMessage("keyStoreImportWizard.keyStoreImportFile.duplicateName", alias.toLowerCase())); 77 } 78 } 79 } 80 81 84 public void doInstall(File file, String alias, String passphrase, AbstractWizardSequence seq, SessionInfo sessionInfo) throws Exception { 85 KeyStoreManager mgr = KeyStoreManager.getInstance(KeyStoreManager.TRUSTED_SERVER_CERTIFICATES_KEY_STORE); 86 mgr.importCert(alias, file, null); 87 mgr.reloadKeystore(); 88 Certificate certif = mgr.getCertificate(alias); 89 90 CoreEvent coreEvent = new CoreEvent(this, CoreEventConstants.KEYSTORE_TRUSTED_CERTIFICATE_IMPORTED, Property.getProperty(new ContextKey("webServer.alias")), seq.getSession()) 91 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_ALIAS, alias) 92 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_TYPE, certif.getType()) 93 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_HOSTNAME, KeyStoreManager.getX509CertificateEntity((X509Certificate )certif, "cn")) 94 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_ORGANISATIONAL_UNIT, KeyStoreManager.getX509CertificateEntity((X509Certificate )certif, "ou")) 95 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_COMPANY, KeyStoreManager.getX509CertificateEntity((X509Certificate )certif, "o")) 96 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_STATE, KeyStoreManager.getX509CertificateEntity((X509Certificate )certif, "st")) 97 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_LOCATION, KeyStoreManager.getX509CertificateEntity((X509Certificate )certif, "l")) 98 .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_COUNTRY_CODE, KeyStoreManager.getX509CertificateEntity((X509Certificate )certif, "c")); 99 100 CoreServlet.getServlet().fireCoreEvent(coreEvent); 101 } 102 103 106 public void init(HttpServletRequest request) { 107 super.init(request); 108 ActionMessages messages = 109 (ActionMessages) request.getAttribute(Globals.MESSAGE_KEY); 110 if (messages == null) { 111 messages = new ActionMessages(); 112 } 113 messages.add(Globals.MESSAGE_KEY, new ActionMessage("keyStoreImportWizard.keyStoreImportFile.caseWarnimg")); 114 request.setAttribute(Globals.MESSAGE_KEY, messages); 115 } 116 117 } 118 | Popular Tags |