CAdES vs XAdES in Java: Differences and When to Use Each Format