Search in sources :

Example 1 with CAConfigurationType

use of org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType in project xipki by xipki.

the class CaConfigurationDbExporter method export.

public void export() throws Exception {
    CAConfigurationType caconf = new CAConfigurationType();
    caconf.setVersion(VERSION);
    System.out.println("exporting CA configuration from database");
    exportCmpcontrol(caconf);
    exportResponder(caconf);
    exportEnvironment(caconf);
    exportCrlsigner(caconf);
    exportRequestor(caconf);
    exportUser(caconf);
    exportPublisher(caconf);
    exportCa(caconf);
    exportProfile(caconf);
    exportCaalias(caconf);
    exportCaHasRequestor(caconf);
    exportCaHasUser(caconf);
    exportCaHasPublisher(caconf);
    exportCaHasProfile(caconf);
    exportScep(caconf);
    JAXBElement<CAConfigurationType> root = new ObjectFactory().createCAConfiguration(caconf);
    try {
        marshaller.marshal(root, new File(baseDir, FILENAME_CA_CONFIGURATION));
    } catch (JAXBException ex) {
        throw XmlUtil.convert(ex);
    }
    System.out.println(" exported CA configuration from database");
}
Also used : CAConfigurationType(org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType) ObjectFactory(org.xipki.ca.dbtool.jaxb.ca.ObjectFactory) JAXBException(javax.xml.bind.JAXBException) File(java.io.File)

Example 2 with CAConfigurationType

use of org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType in project xipki by xipki.

the class CaConfigurationDbImporter method importToDb.

public void importToDb() throws Exception {
    CAConfigurationType caconf;
    try {
        @SuppressWarnings("unchecked") JAXBElement<CAConfigurationType> root = (JAXBElement<CAConfigurationType>) unmarshaller.unmarshal(new File(baseDir, FILENAME_CA_CONFIGURATION));
        caconf = root.getValue();
    } catch (JAXBException ex) {
        throw XmlUtil.convert(ex);
    }
    if (caconf.getVersion() > VERSION) {
        throw new InvalidInputException("could not import CA configuration greater than " + VERSION + ": " + caconf.getVersion());
    }
    System.out.println("importing CA configuration to database");
    try {
        importCmpcontrol(caconf.getCmpcontrols());
        importResponder(caconf.getResponders());
        importEnvironment(caconf.getEnvironments());
        importRequestor(caconf.getRequestors());
        importUser(caconf.getUsers());
        importPublisher(caconf.getPublishers());
        importProfile(caconf.getProfiles());
        importCrlsigner(caconf.getCrlsigners());
        importCa(caconf.getCas());
        importCaalias(caconf.getCaaliases());
        importCaHasRequestor(caconf.getCaHasRequestors());
        importCaHasUser(caconf.getCaHasUsers());
        importCaHasPublisher(caconf.getCaHasPublishers());
        importCaHasCertprofile(caconf.getCaHasProfiles());
        importScep(caconf.getSceps());
    } catch (Exception ex) {
        System.err.println("could not import CA configuration to database. message: " + ex.getMessage());
        throw ex;
    }
    System.out.println(" imported CA configuration to database");
}
Also used : CAConfigurationType(org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType) InvalidInputException(org.xipki.dbtool.InvalidInputException) JAXBException(javax.xml.bind.JAXBException) JAXBElement(javax.xml.bind.JAXBElement) File(java.io.File) DataAccessException(org.xipki.datasource.DataAccessException) JAXBException(javax.xml.bind.JAXBException) InvalidInputException(org.xipki.dbtool.InvalidInputException) SQLException(java.sql.SQLException) IOException(java.io.IOException) CertificateException(java.security.cert.CertificateException)

Example 3 with CAConfigurationType

use of org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType in project xipki by xipki.

the class OcspCertStoreFromCaDbImporter method importToDb.

public void importToDb() throws Exception {
    CertStoreType certstore;
    try {
        @SuppressWarnings("unchecked") JAXBElement<CertStoreType> root = (JAXBElement<CertStoreType>) unmarshaller.unmarshal(new File(baseDir, FILENAME_CA_CERTSTORE));
        certstore = root.getValue();
    } catch (JAXBException ex) {
        throw XmlUtil.convert(ex);
    }
    if (certstore.getVersion() > VERSION) {
        throw new InvalidInputException("could not import CertStore greater than " + VERSION + ": " + certstore.getVersion());
    }
    CAConfigurationType caConf;
    try {
        File file = new File(baseDir + File.separator + FILENAME_CA_CONFIGURATION);
        @SuppressWarnings("unchecked") JAXBElement<CAConfigurationType> rootCaConf = (JAXBElement<CAConfigurationType>) unmarshaller.unmarshal(file);
        caConf = rootCaConf.getValue();
    } catch (JAXBException ex) {
        throw XmlUtil.convert(ex);
    }
    if (caConf.getVersion() > VERSION) {
        throw new InvalidInputException("could not import CA Configuration greater than " + VERSION + ": " + certstore.getVersion());
    }
    System.out.println("importing CA certstore to OCSP database");
    try {
        if (!resume) {
            dropIndexes();
        }
        PublisherType publisherType = null;
        for (PublisherType type : caConf.getPublishers().getPublisher()) {
            if (publisherName.equals(type.getName())) {
                publisherType = type;
                break;
            }
        }
        if (publisherType == null) {
            throw new InvalidInputException("unknown publisher " + publisherName);
        }
        String type = publisherType.getType();
        if (!"ocsp".equalsIgnoreCase(type)) {
            throw new InvalidInputException("Unkwown publisher type " + type);
        }
        ConfPairs confPairs = new ConfPairs(value(publisherType.getConf()));
        String str = confPairs.value("publish.goodcerts");
        boolean revokedOnly = false;
        if (str != null) {
            revokedOnly = !Boolean.parseBoolean(str);
        }
        Set<Integer> relatedCaIds = new HashSet<>();
        for (CaHasPublisherType ctype : caConf.getCaHasPublishers().getCaHasPublisher()) {
            if (ctype.getPublisherId() == publisherType.getId()) {
                relatedCaIds.add(ctype.getCaId());
            }
        }
        List<CaType> relatedCas = new LinkedList<>();
        for (CaType m : caConf.getCas().getCa()) {
            if (relatedCaIds.contains(m.getId())) {
                relatedCas.add(m);
            }
        }
        if (relatedCas.isEmpty()) {
            System.out.println("No CA has publisher " + publisherName);
            return;
        }
        Map<Integer, String> profileMap = new HashMap<Integer, String>();
        for (ProfileType ni : caConf.getProfiles().getProfile()) {
            profileMap.put(ni.getId(), ni.getName());
        }
        List<Integer> relatedCertStoreCaIds = resume ? getIssuerIds(relatedCas) : importIssuer(relatedCas);
        File processLogFile = new File(baseDir, DbPorter.IMPORT_TO_OCSP_PROCESS_LOG_FILENAME);
        importCert(certstore, profileMap, revokedOnly, relatedCertStoreCaIds, processLogFile);
        recoverIndexes();
        processLogFile.delete();
    } catch (Exception ex) {
        System.err.println("could not import OCSP certstore to database");
        throw ex;
    }
    System.out.println(" imported OCSP certstore to database");
}
Also used : CaHasPublisherType(org.xipki.ca.dbtool.jaxb.ca.CaHasPublisherType) PublisherType(org.xipki.ca.dbtool.jaxb.ca.PublisherType) HashMap(java.util.HashMap) CaType(org.xipki.ca.dbtool.jaxb.ca.CaType) CertStoreType(org.xipki.ca.dbtool.jaxb.ca.CertStoreType) HashSet(java.util.HashSet) CAConfigurationType(org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType) InvalidInputException(org.xipki.dbtool.InvalidInputException) ProfileType(org.xipki.ca.dbtool.jaxb.ca.ProfileType) JAXBException(javax.xml.bind.JAXBException) ConfPairs(org.xipki.common.ConfPairs) JAXBElement(javax.xml.bind.JAXBElement) LinkedList(java.util.LinkedList) InvalidInputException(org.xipki.dbtool.InvalidInputException) SQLException(java.sql.SQLException) DataAccessException(org.xipki.datasource.DataAccessException) IOException(java.io.IOException) CertificateException(java.security.cert.CertificateException) JAXBException(javax.xml.bind.JAXBException) CaHasPublisherType(org.xipki.ca.dbtool.jaxb.ca.CaHasPublisherType) ZipFile(java.util.zip.ZipFile) File(java.io.File)

Aggregations

File (java.io.File)3 JAXBException (javax.xml.bind.JAXBException)3 CAConfigurationType (org.xipki.ca.dbtool.jaxb.ca.CAConfigurationType)3 IOException (java.io.IOException)2 CertificateException (java.security.cert.CertificateException)2 SQLException (java.sql.SQLException)2 JAXBElement (javax.xml.bind.JAXBElement)2 DataAccessException (org.xipki.datasource.DataAccessException)2 InvalidInputException (org.xipki.dbtool.InvalidInputException)2 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 LinkedList (java.util.LinkedList)1 ZipFile (java.util.zip.ZipFile)1 CaHasPublisherType (org.xipki.ca.dbtool.jaxb.ca.CaHasPublisherType)1 CaType (org.xipki.ca.dbtool.jaxb.ca.CaType)1 CertStoreType (org.xipki.ca.dbtool.jaxb.ca.CertStoreType)1 ObjectFactory (org.xipki.ca.dbtool.jaxb.ca.ObjectFactory)1 ProfileType (org.xipki.ca.dbtool.jaxb.ca.ProfileType)1 PublisherType (org.xipki.ca.dbtool.jaxb.ca.PublisherType)1 ConfPairs (org.xipki.common.ConfPairs)1