1 package es.caib.signatura.api;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 /**
6 * Interfaz que define los métodos de un intérprete de smimes.
7 * @author u91940
8 *
9 */
10
11 public interface SMIMEParser {
12 /**
13 * Devuelve un nuevo intérprete para el smime pasado como argumento
14 * @param smime Documento a interpretar
15 * @return Nuevo intérprete para el documento pasado como argumento
16 * @throws InstantiationException
17 * @throws IllegalAccessException
18 * @throws IOException
19 * @throws SignatureException
20 */
21 public SMIMEParser getInstance(InputStream smime) throws InstantiationException, IllegalAccessException, IOException, SignatureException ;
22
23 /**
24 * Interpreta el documento smime pasado como argumento
25 * @param mimeIS Documento a interpretar
26 * @throws InstantiationException
27 * @throws IllegalAccessException
28 * @throws IOException
29 * @throws SignatureException
30 */
31 public void parse(InputStream mimeIS) throws InstantiationException, IllegalAccessException, IOException, SignatureException ;
32
33 /**
34 * Devuelve el objeto firmado que contiene el smime. Suele devolver un array de bytes.
35 * @return Objeto que ha sido firmado (normalmente como byte[])
36 */
37 public Object getSignedObject();
38
39 /**
40 * Desagrupa las firmas que contiene el smime para poder tratarlas individualmente, y las devuelve en un array.
41 *
42 * @return Firmas que contiene el documento desagrupadas.
43 */
44 public Signature [] getSignatures();
45
46 }