Recuperación del algoritmo de una firma
Librería
Formatos de firma soportados
Formato | Empaquetado |
---|---|
CAdES | Detached, Enveloping |
XAdES | Detached, Enveloping, Enveloped |
PAdES | Enveloped |
CMS | Detached, Enveloping |
XMLDSIG | Detached, Enveloping, Enveloped |
Formatos de algortimo
Algoritmo | JavaName | OID | XML |
---|---|---|---|
SHA1 | SHA-1 | 1.3.14.3.2.26 | |
SHA224 | SHA-224 | 2.16.840.1.101.3.4.2.4 | |
SHA256 | SHA-256 | 2.16.840.1.101.3.4.2.1 | |
SHA384 | SHA-384 | 2.16.840.1.101.3.4.2.2 | |
SHA512 | SHA-512 | 2.16.840.1.101.3.4.2.3 |
Excepciones
La librería lanza excepciones del tipo AlgorithmCheckException. Se pueden dar estas excepciones por dos motivos:
No se ha encontrado el algoritmo en la firma digital.
No se ha podido recuperar el algoritmo de la firma ya que han aparecido excepciones durante el proceso.
Ejemplo de uso
byte[] data = Files.readAllBytes(Paths.get("PATH_TO_SIGNATURE")); AlgorithmChecker checker = new AlgorithmChecker .ACBuilder(DigitalSignature.CAdES,data) .build(); DigestAlgorithm algorithm = checker.getAlgorithm(); String name = algorithm.getName(); String javaName = algorithm.getJavaName(); String oid = algorithm.getOid(); String xml = algorithm.getUri();