diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-11-04 14:45:38 +0100 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-11-04 14:45:38 +0100 | 
| commit | 6865934e3b6e20dd145025703e51af8b4b259e1b (patch) | |
| tree | 7b3b5faaa40dfede2225c986dd90a511bdec1ae6 | |
| parent | 37384244fd52e2ee22608f1504aee825a1966113 (diff) | |
| download | moa-id-spss-6865934e3b6e20dd145025703e51af8b4b259e1b.tar.gz moa-id-spss-6865934e3b6e20dd145025703e51af8b4b259e1b.tar.bz2 moa-id-spss-6865934e3b6e20dd145025703e51af8b4b259e1b.zip | |
add fix to correct invalid encoded EID_SECTOR_FOR_IDENTIFIER PVP attribute values
| -rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java index d19080c25..bae5bb1f6 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java @@ -360,12 +360,25 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {  		authData.setFamilyName(extractor.getSingleAttributeValue(PVPConstants.PRINCIPAL_NAME_NAME));		  		authData.setGivenName(extractor.getSingleAttributeValue(PVPConstants.GIVEN_NAME_NAME));		  		authData.setDateOfBirth(extractor.getSingleAttributeValue(PVPConstants.BIRTHDATE_NAME)); -		authData.setBPKType(extractor.getSingleAttributeValue(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME));  		authData.setCcc(extractor.getSingleAttributeValue(PVPConstants.EID_ISSUING_NATION_NAME));		  		authData.setBkuURL(extractor.getSingleAttributeValue(PVPConstants.EID_CCS_URL_NAME));  		authData.setIdentificationValue(extractor.getSingleAttributeValue(PVPConstants.EID_SOURCE_PIN_NAME));		  		authData.setIdentificationType(extractor.getSingleAttributeValue(PVPConstants.EID_SOURCE_PIN_TYPE_NAME)); +		 +		if (extractor.containsAttribute(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME)) { +			String bpkType = extractor.getSingleAttributeValue(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME); +			if (bpkType.startsWith(Constants.URN_PREFIX_CDID) &&  +					!bpkType.substring(Constants.URN_PREFIX_CDID.length(),  +							Constants.URN_PREFIX_CDID.length() + 1).equals("+")) {				 +				Logger.warn("Receive uncorrect encoded bBKType attribute " + bpkType + " Starting attribute value correction ... "); +				bpkType = Constants.URN_PREFIX_CDID + "+" + bpkType.substring(Constants.URN_PREFIX_CDID.length() + 1);  +				 +			} +									 +			authData.setBPKType(bpkType);			 +		} +				  		if (extractor.containsAttribute(PVPConstants.BPK_NAME)) {  			String pvpbPK = extractor.getSingleAttributeValue(PVPConstants.BPK_NAME); | 
