diff options
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java')
-rw-r--r-- | eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java index 6040e0b3..22f38c2a 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java @@ -138,15 +138,16 @@ public class SzrClient { /** * Get IdentityLink of a person. * - * @param personInfo Person identification information + * + * @param eidData minimum dataset of person * @return IdentityLink * @throws SzrCommunicationException In case of a SZR error */ - public IdentityLinkType getIdentityLinkInRawMode(PersonInfoType personInfo) + public IdentityLinkType getIdentityLinkInRawMode(ErnpEidData eidData) throws SzrCommunicationException { try { final GetIdentityLinkEidas getIdl = new GetIdentityLinkEidas(); - getIdl.setPersonInfo(personInfo); + getIdl.setPersonInfo(generateSzrRequest(convertTemp(eidData))); final JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class); final Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); @@ -200,17 +201,18 @@ public class SzrClient { /** * Get bPK of person. * - * @param personInfo Person identification information + * + * @param eidData Minimum dataset of person * @param target requested bPK target * @param vkz Verfahrenskennzeichen * @return bPK for this person * @throws SzrCommunicationException In case of a SZR error */ - public List<String> getBpk(PersonInfoType personInfo, String target, String vkz) + public List<String> getBpk(ErnpEidData eidData, String target, String vkz) throws SzrCommunicationException { try { final GetBPK parameters = new GetBPK(); - parameters.setPersonInfo(personInfo); + parameters.setPersonInfo(generateSzrRequest(convertTemp(eidData))); parameters.getBereichsKennung().add(target); parameters.setVKZ(vkz); final GetBPKResponse result = this.szr.getBPK(parameters); @@ -253,15 +255,15 @@ public class SzrClient { * <b>Note</b>: Previously, this method did create a new ERnP entry, if it did not exist. This is * <b>not</b> the case any more. See {@link #createNewErnpEntry(SimpleEidasData)} for that functionality. * - * @param personInfo Minimum dataset of person + * @param eidData Minimum dataset of person * @return encrypted baseId * @throws SzrCommunicationException In case of a SZR error */ - public String getEncryptedStammzahl(final PersonInfoType personInfo) + public String getEncryptedStammzahl(final ErnpEidData eidData) throws SzrCommunicationException { final String resp; try { - resp = this.szr.getStammzahlEncrypted(personInfo, false); + resp = this.szr.getStammzahlEncrypted(generateSzrRequest(convertTemp(eidData)), false); } catch (SZRException_Exception e) { throw new SzrCommunicationException("ernb.02", new Object[]{e.getMessage()}, e); } @@ -274,6 +276,20 @@ public class SzrClient { } + private SimpleEidasData convertTemp(ErnpEidData eidData) { + return SimpleEidasData.builder() + .citizenCountryCode(eidData.getCitizenCountryCode()) + .pseudonym(eidData.getPseudonym()) + .givenName(eidData.getGivenName()) + .familyName(eidData.getFamilyName()) + .dateOfBirth(eidData.getFormatedDateOfBirth()) + .placeOfBirth(eidData.getPlaceOfBirth()) + .birthName(eidData.getBirthName()) + .address(eidData.getAddress()) + //TODO not available.taxNumber() + .build(); + } + /** * Sign an eidasBind data-structure that combines vsz with user's pubKey and E-ID status. * |