package at.gv.egiz.moazs.msg; import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.api.ISignatureVerificationService; import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.exceptions.MOASigServiceException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; @Component public class SignatureVerifier { private static final Logger log = LoggerFactory.getLogger(SignatureVerifier.class); @Autowired @Qualifier("moaSigVerifyService") private final ISignatureVerificationService service; @Autowired @Qualifier("moaSPSSServerDefaultTrustProfile") private final String trustProfile; public SignatureVerifier(ISignatureVerificationService service, String trustProfile) { this.service = service; this.trustProfile = trustProfile; } public boolean verify(byte[] signedXMLdocument) { try { var response = service.verifyXMLSignature(signedXMLdocument, trustProfile); return response != null; } catch (MOASigServiceException e) { log.error("Could not verify the XML signature.", e); return false; } } }