Validação Xades-BES como soma de verificação
Pergunta
Estou tentando verificar um documento assinado por xades4j, mas não estou interessado na validação de um certificado.A única coisa que preciso saber é que o documento foi assinado corretamente e nada foi alterado desde a assinatura.
Tentei algumas abordagens diferentes, mas cada uma usa PKIXCertificateValidationProvider, que requer parâmetros nos quais não estou interessado, como certificados confiáveis.O mesmo é usado também em unittests em fontes xades4j.Eu até tentei implementar o CertificateValidationProvider sozinho, mas os certificados serão necessários posteriormente para outras classes como ValidationData.
Você tem alguma sugestão de como conseguir isso com o xades4j?Ou talvez alguma outra biblioteca melhor documentada que eu possa usar para fins de validação?
Solução
A abordagem correta para esse cenário é implementar um CertificateValidationProvider.Os dados de validação retornados pelo validate
método deve retornar pelo menos uma lista com o certificado de assinatura.
Uma possível implementação de validate
para o seu cenário seria corresponder ao certSelector contra os certificados fornecidos e retorne uma lista com o primeiro certificado correspondente.Isso só funcionaria se a assinatura contivesse o certificado ...