/*
* Copyright 2003 Federal Chancellery Austria
* MOA-ID has been developed in a cooperation between BRZ, the Federal
* Chancellery Austria - ICT staff unit, and Graz University of Technology.
*
* Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
* the European Commission - subsequent versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the Licence.
* You may obtain a copy of the Licence at:
* http://www.osor.eu/eupl/
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the Licence is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the Licence for the specific language governing permissions and
* limitations under the Licence.
*
* This product combines work with different licenses. See the "NOTICE" text
* file for details on the various modules and licenses.
* The "NOTICE" text file is part of the distribution. Any derivative works
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
package at.gv.egovernment.moa.id.config.auth;
import at.gv.egovernment.moa.id.config.OAParameter;
/**
* Configuration parameters belonging to an online application,
* to use with the MOA ID Auth component.
*
* @author Stefan Knirsch
* @version $Id$
*/
/**
*
*
* @author Harald Bratko
*/
public class OAAuthParameter extends OAParameter {
/**
* Sercurity Layer version
*/
private String slVersion;
/**
* true, if the Security Layer version is version 1.2, otherwise false
*/
private boolean slVersion12;
/**
* identityLinkDomainIdentifier
* (e.g urn:publicid:gv.at+wbpk+FN468i
for a "Firmenbuchnummer")
*
* only used within a business application context for providing it to the
* security layer as input for wbPK computation
*/
private String identityLinkDomainIdentifier;
/**
* key box Identifier (e.g. CertifiedKeypair, SecureSignatureKeypair)
*/
private String keyBoxIdentifier;
/**
* transformations for rendering in the secure viewer of the security layer
* implementation; multiple transformation can be given for different mime types
*/
private String[] transformsInfos;
/**
* determines whether "Stammzahl" is to be included in the authentication data
*/
private boolean provideStammzahl;
/**
* determines whether AUTH block is to be included in the authentication data
*/
private boolean provideAuthBlock;
/**
* determines whether identity link is to be included in the authentication data
*/
private boolean provideIdentityLink;
/**
* determines whether the certificate is to be included in the authentication data
*/
private boolean provideCertificate;
/**
* determines whether the full mandator data (i.e. the mandate) is to be included in the authentication data
*/
private boolean provideFullMandatorData;
/** determines wheter the IssueInstant of the SAML assertion is in UTC or not*/
private boolean useUTC;
/**
* url to a template for web page "Auswahl der Bürgerkartenumgebung"
*/
private String bkuSelectionTemplateURL;
/**
* template for web page "Anmeldung mit Bürgerkarte"
*/
private String templateURL;
/**
* template for web page "Signatur der Anmeldedaten"
*/
private String inputProcessorSignTemplateURL;
/**
* Parameters for verifying infoboxes.
*/
private VerifyInfoboxParameters verifyInfoboxParameters;
/**
* Parameter for Mandate profiles
*/
private String mandateProfiles;
/**
* BZ
* Type for authentication number (e.g. Firmenbuchnummer)
*/
private String identityLinkDomainIdentifierType;
/**
* Returns true
if the Security Layer version is version 1.2,
* otherwise false
.
* @return true
if the Security Layer version is version 1.2,
* otherwise false
*/
public boolean getSlVersion12() {
return slVersion12;
}
/**
* Returns the security layer version.
* @return the security layer version.
*/
public String getSlVersion() {
return slVersion;
}
/**
* Returns the identityLinkDomainIdentifier.
* @return the identityLinkDomainIdentifier.
*/
public String getIdentityLinkDomainIdentifier() {
return identityLinkDomainIdentifier;
}
/**
* Returns the transformsInfos.
* @return the transformsInfos.
*/
public String[] getTransformsInfos() {
return transformsInfos;
}
/**
* Returns the provideAuthBlock.
* @return String
*/
public boolean getProvideAuthBlock() {
return provideAuthBlock;
}
/**
* Returns the provideIdentityLink.
* @return String
*/
public boolean getProvideIdentityLink() {
return provideIdentityLink;
}
/**
* Returns the provideStammzahl.
* @return String
*/
public boolean getProvideStammzahl() {
return provideStammzahl;
}
/**
* Returns true
if the certificate should be provided within the
* authentication data, otherwise false
.
* @return true
if the certificate should be provided,
* otherwise false
*/
public boolean getProvideCertifcate() {
return provideCertificate;
}
/**
* Returns true
if the full mandator data should be provided within the
* authentication data, otherwise false
.
* @return true
if the full mandator data should be provided,
* otherwise false
*/
public boolean getProvideFullMandatorData() {
return provideFullMandatorData;
}
/**
* Returns true
if the IssueInstant should be given in UTC, otherwise false
.
* @return true
if the IssueInstant should be given in UTC, otherwise false
.
*/
public boolean getUseUTC() {
return useUTC;
}
/**
* Returns the key box identifier.
* @return String
*/
public String getKeyBoxIdentifier() {
return keyBoxIdentifier;
}
/**
* Returns the BkuSelectionTemplate url.
* @return The BkuSelectionTemplate url or null
if no url for
* a BkuSelectionTemplate is set.
*/
public String getBkuSelectionTemplateURL() {
return bkuSelectionTemplateURL;
}
/**
* Returns the TemplateURL url.
* @return The TemplateURL url or null
if no url for
* a Template is set.
*/
public String getTemplateURL() {
return templateURL;
}
/**
* Returns the inputProcessorSignTemplateURL url.
* @return The inputProcessorSignTemplateURL url or null
if no url for
* a input processor sign template is set.
*/
public String getInputProcessorSignTemplateURL() {
return inputProcessorSignTemplateURL;
}
/**
* Returns the parameters for verifying additional infoboxes.
*
* @return The parameters for verifying additional infoboxes.
* Maybe null
.
*/
public VerifyInfoboxParameters getVerifyInfoboxParameters() {
return verifyInfoboxParameters;
}
/**
* Sets the security layer version.
* Also sets slVersion12
({@link #getSlVersion12()})
* to true
if the Security Layer version is 1.2.
* @param slVersion The security layer version to be used.
*/
public void setSlVersion(String slVersion) {
this.slVersion = slVersion;
if ("1.2".equals(slVersion)) {
this.slVersion12 = true;
}
}
/**
* Sets the IdentityLinkDomainIdentifier.
* @param identityLinkDomainIdentifier The IdentityLinkDomainIdentifiern number of the online application.
*/
public void setIdentityLinkDomainIdentifier(String identityLinkDomainIdentifier) {
this.identityLinkDomainIdentifier = identityLinkDomainIdentifier;
}
/**
* Sets the transformsInfos.
* @param transformsInfos The transformsInfos to be used.
*/
public void setTransformsInfos(String[] transformsInfos) {
this.transformsInfos = transformsInfos;
}
/**
* Sets the provideAuthBlock.
* @param provideAuthBlock The provideAuthBlock to set
*/
public void setProvideAuthBlock(boolean provideAuthBlock) {
this.provideAuthBlock = provideAuthBlock;
}
/**
* Sets the provideIdentityLink.
* @param provideIdentityLink The provideIdentityLink to set
*/
public void setProvideIdentityLink(boolean provideIdentityLink) {
this.provideIdentityLink = provideIdentityLink;
}
/**
* Sets the provideStammzahl.
* @param provideStammzahl The provideStammzahl to set
*/
public void setProvideStammzahl(boolean provideStammzahl) {
this.provideStammzahl = provideStammzahl;
}
/**
* Sets the provideCertificate variable.
* @param provideCertificate The provideCertificate value to set
*/
public void setProvideCertificate(boolean provideCertificate) {
this.provideCertificate = provideCertificate;
}
/**
* Sets the provideFullMandatorData variable.
* @param provideFullMandatorData The provideFullMandatorData value to set
*/
public void setProvideFullMandatorData(boolean provideFullMandatorData) {
this.provideFullMandatorData = provideFullMandatorData;
}
/**
* Sets the useUTC variable.
* @param useUTC The useUTC value to set
*/
public void setUseUTC(boolean useUTC) {
this.useUTC = useUTC;
}
/**
* Sets the key box identifier.
* @param keyBoxIdentifier to set
*/
public void setKeyBoxIdentier(String keyBoxIdentifier) {
this.keyBoxIdentifier = keyBoxIdentifier;
}
/**
* Sets the BkuSelectionTemplate url.
* @param bkuSelectionTemplateURL The url string specifying the location
* of a BkuSelectionTemplate.
*/
public void setBkuSelectionTemplateURL(String bkuSelectionTemplateURL) {
this.bkuSelectionTemplateURL = bkuSelectionTemplateURL;
}
/**
* Sets the Template url.
* @param templateURL The url string specifying the location
* of a Template.
*/
public void setTemplateURL(String templateURL) {
this.templateURL = templateURL;
}
/**
* Sets the input processor sign form template url.
*
* @param inputProcessorSignTemplateURL The url string specifying the
* location of the input processor sign form
*/
public void setInputProcessorSignTemplateURL(String inputProcessorSignTemplateURL) {
this.inputProcessorSignTemplateURL = inputProcessorSignTemplateURL;
}
/**
* Sets the parameters for verifying additonal (to the identitylink infobox) infoboxes.
*
* @param verifyInfoboxParameters The verifyInfoboxParameters to set.
*/
public void setVerifyInfoboxParameters(VerifyInfoboxParameters verifyInfoboxParameters) {
this.verifyInfoboxParameters = verifyInfoboxParameters;
}
/**
* Gets the IdentityLinkDomainIdentifier (e.g. Firmenbuchnummer)
* @return IdentityLinkDomainIdentifier (e.g. Firmenbuchnummer)
*/
public String getIdentityLinkDomainIdentifierType() {
return identityLinkDomainIdentifierType;
}
/**
* Sets the IdentityLinkDomainIdentifier (e.g. Firmenbuchnummer)
* @param identityLinkDomainIdentifierType The IdentityLinkDomainIdentifier to set (e.g. Firmenbuchnummer)
*/
public void setIdentityLinkDomainIdentifierType(String identityLinkDomainIdentifierType) {
this.identityLinkDomainIdentifierType = identityLinkDomainIdentifierType;
}
/**
* Sets the Mandate/Profiles
* @param profiles
*/
public void setMandateProfiles(String profiles) {
this.mandateProfiles = profiles;
}
/**
* Returns the Mandates/Profiles
* @return
*/
public String getMandateProfiles() {
return this.mandateProfiles;
}
}