📄 _3sppurchaseimporttype.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 + -