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.");
}