⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _3sppurchaseimporttype.java

📁 这是linux下ssl vpn的实现程序
💻 JAVA
字号:
package com.sslexplorer.keystore.wizards.types;

import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;

import com.sslexplorer.boot.ContextHolder;
import com.sslexplorer.boot.KeyStoreManager;
import com.sslexplorer.core.CoreAttributeConstants;
import com.sslexplorer.core.CoreEvent;
import com.sslexplorer.core.CoreEventConstants;
import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.keystore.wizards.AbstractKeyStoreImportType;
import com.sslexplorer.security.PublicKeyStore;
import com.sslexplorer.security.pki.SshPrivateKey;
import com.sslexplorer.util.ZipExtract;
import com.sslexplorer.wizard.AbstractWizardSequence;

public class _3SPPurchaseImportType extends AbstractKeyStoreImportType {

    /**
     * Constant for importing a reply from a CA 
     */
    public final static String _3SP_PURCHASE = "3spPurchase";
    
	public _3SPPurchaseImportType() {
		super(_3SP_PURCHASE, "keystore", false, false, 1);
	}

	public void doInstall(File file, String alias, String passphrase,
			AbstractWizardSequence seq) throws Exception {

		
        KeyStoreManager mgr = KeyStoreManager.getInstance(KeyStoreManager.DEFAULT_KEY_STORE);
        
        X509Certificate web = (X509Certificate) mgr.getCertificate(ContextHolder.getContext().getContextProperty("webServer.alias"));

        final String actualCert = KeyStoreManager.getX509CertificateEntity(web, "cn") + ".crt";        

        File parent = new File(file.getParentFile(), "comodo");
        parent.mkdirs();
        
        ZipExtract.extractZipFile(parent, new FileInputStream(file));
        
        String[] certs = parent.list(new FilenameFilter() {
        	public boolean accept(File file, String filename) {
        		return filename.endsWith(".crt") && !filename.equals(actualCert);
        	}
        });
        String pw = CoreServlet.getServlet().getPropertyDatabase().getProperty(0, null ,"webServer.keystore.sslCertificate.password");

        for(int i=0;i<certs.length;i++) {
        	File tmp = new File(parent, certs[i]);
        	mgr.importCert(tmp.getName(), tmp, pw);
        	
            Certificate certif = mgr.getCertificate(tmp.getName());

            CoreEvent coreEvent = new CoreEvent(this, CoreEventConstants.KEYSTORE_CERTIFICATE_SIGNED_IMPORTED, ContextHolder.getContext().getContextProperty("webServer.alias"), seq.getSession())
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_ALIAS, tmp.getName())
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_TYPE, certif.getType())
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_HOSTNAME, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "cn"))
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_ORGANISATIONAL_UNIT, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "ou"))
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_COMPANY, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "o"))
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_STATE, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "st"))
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_LOCATION, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "l"))
                            .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_COUNTRY_CODE, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "c"));
            
             CoreServlet.getServlet().fireCoreEvent(coreEvent);

        }
        
        File cert = new File(parent, actualCert);
        
        mgr.importCert(ContextHolder.getContext().getContextProperty("webServer.alias"), cert, pw);
        mgr.reloadKeystore();
        Certificate certif = mgr.getCertificate(ContextHolder.getContext().getContextProperty("webServer.alias"));
        
        CoreServlet.getServlet().fireCoreEvent(new CoreEvent(
                        this, CoreEventConstants.KEYSTORE_CERTIFICATE_SIGNED_IMPORTED, ContextHolder.getContext().getContextProperty("webServer.alias"), seq.getSession())
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_ALIAS, ContextHolder.getContext().getContextProperty("webServer.alias"))
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_TYPE, certif.getType())
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_HOSTNAME, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "cn"))
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_ORGANISATIONAL_UNIT, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "ou"))
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_COMPANY, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "o"))
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_STATE, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "st"))
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_LOCATION, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "l"))
                        .addAttribute(CoreAttributeConstants.EVENT_ATTR_CERTIFICATE_COUNTRY_CODE, KeyStoreManager.getX509CertificateEntity((X509Certificate)certif, "c")));
  	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -