/******************************************************************************* * 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.auth.data; import java.io.IOException; import java.io.Serializable; import java.security.PublicKey; import javax.xml.transform.TransformerException; import org.w3c.dom.Element; import at.gv.egovernment.moa.util.DOMUtils; /** * Data contained in an identity link issued by BMI, relevant to the MOA ID component. *
"IdentityLink" is the translation of "Personenbindung". * * @author Paul Ivancsics * @version $Id$ */ public class IdentityLink implements Serializable{ private static final long serialVersionUID = 1L; /** * "identificationValue" is the translation of "Stammzahl". */ private String identificationValue; /** * "identificationType" type of the identificationValue in the IdentityLink. */ private String identificationType; /** * first name */ private String givenName; /** * family name */ private String familyName; /** * The name as (givenName + familyName) */ private String name; /** * date of birth */ private String dateOfBirth; /** * the original saml:Assertion-Element */ private Element samlAssertion; /** * the serializes saml:Assertion */ private String serializedSamlAssertion; /** * Element /saml:Assertion/saml:AttributeStatement/saml:Subject/saml:SubjectConfirmation/saml:SubjectConfirmationData/pr:Person */ private Element prPerson; /** * we need for each dsig:Reference Element all * transformation elements */ private Element[] dsigReferenceTransforms; /** * The issuing time of the identity link SAML assertion. */ private String issueInstant; /** * we need all public keys stored in * the identity link */ private PublicKey[] publicKey; /** * Constructor for IdentityLink */ public IdentityLink() { } /** * Returns the dateOfBirth. * @return Calendar */ public String getDateOfBirth() { return dateOfBirth; } /** * Returns the familyName. * @return String */ public String getFamilyName() { return familyName; } /** * Returns the givenName. * @return String */ public String getGivenName() { return givenName; } /** * Returns the name. * @return The name. */ public String getName() { if (name == null) { name = givenName + " " + familyName; } return name; } /** * Returns the identificationValue. * "identificationValue" is the translation of "Stammzahl". * @return String */ public String getIdentificationValue() { return identificationValue; } /** * Returns the identificationType. * "identificationType" type of the identificationValue in the IdentityLink. * @return String */ public String getIdentificationType() { return identificationType; } /** * Sets the dateOfBirth. * @param dateOfBirth The dateOfBirth to set */ public void setDateOfBirth(String dateOfBirth) { this.dateOfBirth = dateOfBirth; } /** * Sets the familyName. * @param familyName The familyName to set */ public void setFamilyName(String familyName) { this.familyName = familyName; } /** * Sets the givenName. * @param givenName The givenName to set */ public void setGivenName(String givenName) { this.givenName = givenName; } /** * Sets the identificationValue. * "identificationValue" is the translation of "Stammzahl". * @param identificationValue The identificationValue to set */ public void setIdentificationValue(String identificationValue) { this.identificationValue = identificationValue; } /** * Sets the Type of the identificationValue. * @param identificationType The type of identificationValue to set */ public void setIdentificationType(String identificationType) { this.identificationType = identificationType; } /** * Returns the samlAssertion. * @return Element */ public Element getSamlAssertion() { return samlAssertion; } /** * Returns the samlAssertion. * @return Element */ public String getSerializedSamlAssertion() { return serializedSamlAssertion; } /** * Sets the samlAssertion and the serializedSamlAssertion. * @param samlAssertion The samlAssertion to set */ public void setSamlAssertion(Element samlAssertion) throws TransformerException, IOException { this.samlAssertion = samlAssertion; this.serializedSamlAssertion = DOMUtils.serializeNode(samlAssertion); } /** * Returns the dsigReferenceTransforms. * @return Element[] */ public Element[] getDsigReferenceTransforms() { return dsigReferenceTransforms; } /** * Sets the dsigReferenceTransforms. * @param dsigReferenceTransforms The dsigReferenceTransforms to set */ public void setDsigReferenceTransforms(Element[] dsigReferenceTransforms) { this.dsigReferenceTransforms = dsigReferenceTransforms; } /** * Returns the publicKey. * @return PublicKey[] */ public PublicKey[] getPublicKey() { return publicKey; } /** * Sets the publicKey. * @param publicKey The publicKey to set */ public void setPublicKey(PublicKey[] publicKey) { this.publicKey = publicKey; } /** * Returns the prPerson. * @return Element */ public Element getPrPerson() { return prPerson; } /** * Sets the prPerson. * @param prPerson The prPerson to set */ public void setPrPerson(Element prPerson) { this.prPerson = prPerson; } /** * Returns the issuing time of the identity link SAML assertion. * * @return The issuing time of the identity link SAML assertion. */ public String getIssueInstant() { return issueInstant; } /** * Sets the issuing time of the identity link SAML assertion. * * @param issueInstant The issueInstant to set. */ public void setIssueInstant(String issueInstant) { this.issueInstant = issueInstant; } }