public void verifyCitizenFormData()

in src/main/java/com/epam/digital/data/platform/usrtaskmgt/remote/impl/DigitalSignatureRemoteServiceImpl.java [62:78]


  public void verifyCitizenFormData(@NonNull Set<Subject> signatureValidationPack,
      @NonNull FormDataDto formData) {
    log.debug("Verifying citizen signed form data.");

    var allowedSubjects = getAllowedSubjects(signatureValidationPack);
    var signature = formData.getSignature();
    var data = serializeFormData(formData.getData());
    var requestDto = new VerifySubjectRequestDto(allowedSubjects, signature, data);

    var verifyResponseDto = digitalSignatureRestClient.verifyCitizen(requestDto);

    if (!verifyResponseDto.isValid()) {
      log.error("Citizen task form data hasn't passed the signature verification");
      throw new SignatureValidationException(verifyResponseDto.getError());
    }
    log.debug("Citizen signed form data verified.");
  }