/*******************************************************************************
* Copyright 2014 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.
******************************************************************************/
/*
* 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.protocols.saml1;
import java.text.ParseException;
import java.util.List;
import at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute;
import at.gv.egovernment.moa.id.data.AuthenticationData;
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.DateTimeUtils;
/**
* Encapsulates authentication data contained in a <saml:Assertion>
.
*
* @author Paul Ivancsics
* @version $Id$
*/
public class SAML1AuthenticationData extends AuthenticationData {
/**
*
*/
private static final long serialVersionUID = -1042697056735596866L;
/**
* major version number of the SAML assertion
*/
private int majorVersion;
/**
* minor version number of the SAML assertion
*/
private int minorVersion;
/**
* identifier for this assertion
*/
private String assertionID;
/**
* @return the majorVersion
*/
private String samlAssertion = null;
private List extendedSAMLAttributesOA;
public SAML1AuthenticationData() {
this.setMajorVersion(1);
this.setMinorVersion(0);
this.setAssertionID(Random.nextRandom());
}
//this method is only required for MOA-ID Proxy 2.0 Release.
//TODO: remove it, if MOA-ID Proxy is not supported anymore.
public String getWBPK() {
return getBPK();
}
public int getMajorVersion() {
return majorVersion;
}
/**
* @param majorVersion the majorVersion to set
*/
public void setMajorVersion(int majorVersion) {
this.majorVersion = majorVersion;
}
/**
* @return the minorVersion
*/
public int getMinorVersion() {
return minorVersion;
}
/**
* @param minorVersion the minorVersion to set
*/
public void setMinorVersion(int minorVersion) {
this.minorVersion = minorVersion;
}
/**
* @return the assertionID
*/
public String getAssertionID() {
return assertionID;
}
/**
* @param assertionID the assertionID to set
*/
public void setAssertionID(String assertionID) {
this.assertionID = assertionID;
}
public void setIssueInstant(String date) {
try {
setIssueInstant(DateTimeUtils.parseDateTime(date));
} catch (ParseException e) {
Logger.error("Parse IssueInstant element FAILED.", e);
}
}
/**
* @return the samlAssertion
*/
public String getSamlAssertion() {
return samlAssertion;
}
/**
* @param samlAssertion the samlAssertion to set
*/
public void setSamlAssertion(String samlAssertion) {
this.samlAssertion = samlAssertion;
}
/**
* @return the extendedSAMLAttributesOA
*/
public List getExtendedSAMLAttributesOA() {
return extendedSAMLAttributesOA;
}
/**
* @param extendedSAMLAttributesOA the extendedSAMLAttributesOA to set
*/
public void setExtendedSAMLAttributesOA(
List extendedSAMLAttributesOA) {
this.extendedSAMLAttributesOA = extendedSAMLAttributesOA;
}
}