Xades-BES-Validierung als Prüfsumme
Frage
Ich versuche, ein von xades4j signiertes Dokument zu überprüfen, bin aber nicht an einer Zertifikatsvalidierung interessiert.Das Einzige, was ich wissen muss, ist, dass das Dokument korrekt unterzeichnet wurde und seit der Unterzeichnung nichts geändert wurde.
Ich habe ein paar verschiedene Ansätze ausprobiert, aber jeder verwendet PKIXCertificateValidationProvider, der Parameter erfordert, die mich nicht interessieren, wie z. B. vertrauenswürdige Zertifikate.Dasselbe wird auch in Unittests in xades4j-Quellen verwendet.Ich habe sogar versucht, CertificateValidationProvider selbst zu implementieren, aber Zertifikate werden später von anderen Klassen wie ValidationData benötigt.
Haben Sie einen Vorschlag, wie Sie dies mit xades4j erreichen können?Oder vielleicht eine andere, besser dokumentierte Bibliothek, die ich zu Validierungszwecken verwenden könnte?
Lösung
Der richtige Ansatz für dieses Szenario ist die Implementierung eines CertificateValidationProvider.Die von der zurückgegebenen Validierungsdaten validate
Die Methode sollte mindestens eine Liste mit dem Signaturzertifikat zurückgeben.
Eine mögliche Implementierung von validate
für Ihr Szenario wäre es, mit dem übereinzustimmen certSelector Vergleichen Sie die bereitgestellten Zertifikate und geben Sie eine Liste mit dem ersten übereinstimmenden Zertifikat zurück.Dies würde nur funktionieren, wenn die Signatur das Zertifikat enthält ...