135         DeviceRegistration usedDeviceRegistration = null;
   136         for (DeviceRegistration deviceRegistration : deviceRegistrations) {
   137             if (StringHelper.equals(request.getKeyHandle(), deviceRegistration.getKeyHandle())) {
   138                 usedDeviceRegistration = deviceRegistration;
   143         if (usedDeviceRegistration == null) {
   144             throw new BadInputException(
"Failed to find DeviceRegistration for the given AuthenticateRequest");
   147         if (usedDeviceRegistration.isCompromised()) {
   148             throw new DeviceCompromisedException(usedDeviceRegistration, 
"The device is marked as possibly compromised, and cannot be authenticated");
   151         ClientData clientData = response.getClientData();
   156                 Base64Util.base64urldecode(usedDeviceRegistration.getDeviceRegistrationConfiguration().getPublicKey()));
   157         rawAuthenticateResponse.checkUserPresence();
   158         usedDeviceRegistration.checkAndUpdateCounter(rawAuthenticateResponse.getCounter());
   160         usedDeviceRegistration.setLastAccessTime(
new Date());
   164         DeviceRegistrationResult.Status status = DeviceRegistrationResult.Status.APPROVED;
   166         boolean approved = StringHelper.equals(RawAuthenticationService.AUTHENTICATE_GET_TYPE, clientData.getTyp());
   168             status = DeviceRegistrationResult.Status.CANCELED;
   169             log.debug(
"Authentication request with keyHandle '{}' was canceled", response.getKeyHandle());
   172         return new DeviceRegistrationResult(usedDeviceRegistration, status);
 RawAuthenticationService rawAuthenticationService
Definition: AuthenticationService.java:62
 
RawAuthenticateResponse parseRawAuthenticateResponse(String rawDataBase64)
Definition: RawAuthenticationService.java:47
 
AuthenticateRequest getAuthenticateRequest(AuthenticateRequestMessage requestMessage, AuthenticateResponse response)
Definition: AuthenticationService.java:175
 
Logger log
Definition: AuthenticationService.java:53
 
void checkContent(ClientData clientData, String[] types, String challenge, Set< String > facets)
Definition: ClientDataValidationService.java:35
 
List< DeviceRegistration > findUserDeviceRegistrations(String userInum, String appId, String ... returnAttributes)
Definition: DeviceRegistrationService.java:78
 
DeviceRegistrationService deviceRegistrationService
Definition: AuthenticationService.java:68
 
void updateDeviceRegistration(String userInum, DeviceRegistration deviceRegistration)
Definition: DeviceRegistrationService.java:143
 
ClientDataValidationService clientDataValidationService
Definition: AuthenticationService.java:65
 
void checkSignature(String appId, ClientData clientData, RawAuthenticateResponse rawAuthenticateResponse, byte[] publicKey)
Definition: RawAuthenticationService.java:58