Witam,
czy orientuje się ktoś, czy podpisany dokument algorytmem XAdES-BES (wewnętrznie) posiada swój skrót w strukturze podpisu? Jeśli tak, to w którym miejscu? W SignedInfo? I jakiego algorytmu użyto do wygenerowania hasha?

Jest to dla mnie o tyle istotne, że chciałbym porównać hash dokumentu niepodpisanego z podpisanym, w celu znalezienia jego niepodpisanej wersji.
Czyli np. mam kilkanaście niepodpisanych dokumentów, a teraz wczytuję podpisany i chciałbym jednoznacznie odczytać, którego dokumentu dotyczy podpis. Oczywiście mogę to zrobić na podstawie base64 całości dokumentu, ale wtedy muszę go otwierać i konwertować, co w przypadku dużej liczby plików o dużych rozmiarach będzie uciążliwe, a nie chciałbym też przechowywać ich w takiej formie w bazie.

Nie interesują mnie zewnętrzne programy, to musi się odbyć w php.

Dla potomnych, gdyby ktoś kiedyś borykał się z podobnym problemem, oto rozwiązanie które zaimplementowałem:
1. W bazie przechowuję hash dla dokumentu
2. Z podpisanego dokumentu pobieram jego treść
3. Rozkodowuje treść base64 oraz generuję hash
4. Wyszukuję w bazie na podstawie hasha z pkt 3, hasha którego zapisałem dla niepodpisanego dokumentu

Wygląda to na najbardziej optymalne rozwiązanie.