001/*
002 * (C) Copyright 2011 Nuxeo SA (http://nuxeo.com/) and contributors.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the GNU Lesser General Public License
006 * (LGPL) version 2.1 which accompanies this distribution, and is available at
007 * http://www.gnu.org/licenses/lgpl.html
008 *
009 * This library is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012 * Lesser General Public License for more details.
013 *
014 * Contributors:
015 *     Wojciech Sulejman
016 */
017
018package org.nuxeo.ecm.platform.signature.core.pki;
019
020import org.nuxeo.common.xmap.annotation.XNode;
021import org.nuxeo.common.xmap.annotation.XObject;
022
023/**
024 * Provides configuration information for root certificate generation services.
025 * <p>
026 * As the root keystore needs to be configurable by the system administrator, this configuration object allows the
027 * administrator to store the root keystore location and access information as XML elements. This information is used by
028 * the certificate authority services for signing user certificates and for exposing the root certificate object to the
029 * user interface.
030 *
031 * @author <a href="mailto:ws@nuxeo.com">Wojciech Sulejman</a>
032 */
033
034@XObject("configuration")
035public class RootDescriptor {
036
037    @XNode("rootKeystoreFilePath")
038    protected String rootKeystoreFilePath;
039
040    @XNode("rootKeystorePassword")
041    protected String rootKeystorePassword;
042
043    @XNode("rootCertificateAlias")
044    protected String rootCertificateAlias;
045
046    @XNode("rootKeyAlias")
047    protected String rootKeyAlias;
048
049    @XNode("rootKeyPassword")
050    protected String rootKeyPassword;
051
052    public String getRootKeyAlias() {
053        return rootKeyAlias;
054    }
055
056    public void setRootKeyAlias(String rootKeyAlias) {
057        this.rootKeyAlias = rootKeyAlias;
058    }
059
060    public String getRootKeyPassword() {
061        return rootKeyPassword;
062    }
063
064    public void setRootKeyPassword(String rootKeyPassword) {
065        this.rootKeyPassword = rootKeyPassword;
066    }
067
068    public String getRootKeystorePassword() {
069        return rootKeystorePassword;
070    }
071
072    public void setRootKeystorePassword(String rootKeystorePassword) {
073        this.rootKeystorePassword = rootKeystorePassword;
074    }
075
076    public String getRootCertificateAlias() {
077        return rootCertificateAlias;
078    }
079
080    public void setRootCertificateAlias(String rootCertificateAlias) {
081        this.rootCertificateAlias = rootCertificateAlias;
082    }
083
084    public String getRootKeystoreFilePath() {
085        return rootKeystoreFilePath;
086    }
087
088    public void setRootKeystoreFilePath(String rootKeystoreFilePath) {
089        this.rootKeystoreFilePath = rootKeystoreFilePath;
090    }
091
092    private boolean remove;
093
094    @XNode("removeExtension")
095    protected void setRemoveExtension(boolean remove) {
096        this.remove = remove;
097    }
098
099    public boolean getRemoveExtension() {
100        return remove;
101    }
102}