Index: murachi/src/main/java/ve/gob/cenditel/murachi/MurachiRESTWS.java
===================================================================
--- murachi/src/main/java/ve/gob/cenditel/murachi/MurachiRESTWS.java	(revision 81c864a8dd99434382e64f89b7fd715eb107012e)
+++ murachi/src/main/java/ve/gob/cenditel/murachi/MurachiRESTWS.java	(revision 90b29528eafe4029521d1c6e9e238ff7ee8e5654)
@@ -15,4 +15,6 @@
 import java.io.ObjectOutputStream;
 import java.io.OutputStream;
+import java.net.URISyntaxException;
+import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Paths;
@@ -111,4 +113,5 @@
 
 import ve.gob.cenditel.murachi.MurachiException;
+
 import org.apache.log4j.Logger;
 
@@ -118,5 +121,4 @@
 	final static Logger logger = Logger.getLogger(MurachiRESTWS.class);
 	
-
 	private static final String API_VERSION = "0.1.0";
 	
@@ -126,12 +128,4 @@
 	
 	private static final String RSA_DIGEST_ENCRYPTION_ALGORITHM = "RSA";
-
-	public static final String ACRAIZ = "/tmp/CERTIFICADO-RAIZ-SHA384.crt";
-	public static final String PSCFII = "/tmp/PSCFII-SHA256.crt";	
-	public static final String GIDSI = "/tmp/gidsi.crt";
-	
-	
-	private static final String ANSI_RED = "^[[31m";
-	private static final String ANSI_RESET = "^[[0m";
 	
 	// para reportes de advertencias de BDOC
@@ -142,6 +136,20 @@
 
 	/**
+	 * Retorna la ruta absoluta de un archivo recurso
+	 * @param resource cadena con el nombre del archivo
+	 * @return ruta absoluta de un archivo recurso
+	 */
+	String getAbsolutePathOfResource(String resource) {
+		ClassLoader classLoader = getClass().getClassLoader();
+		File file = new File(classLoader.getResource(resource).getFile());
+		logger.debug("archivo recurso solicitado: "+ resource +" path abosulto: " + file.getAbsolutePath());
+		return file.getAbsolutePath();		
+	}
+	
+	
+	/**
 	 * Retorna la version del api del servicio
 	 * @return version del api del servicio
+	 * @throws URISyntaxException 
 	 */
 	@Path("/version")
@@ -149,5 +157,5 @@
 	@Produces(MediaType.TEXT_HTML)
 	public String returnVersion() {
-		logger.info("/version: Murachi Version: " + API_VERSION);
+		logger.info("/version: Murachi Version: " + API_VERSION);		
 		return "<p>Murachi Version: " + API_VERSION + "</p>";
 	}
@@ -487,7 +495,10 @@
 				HashMap<String, String> signatureInformation;
 				
+				// inicializar el keystore para verificacion
+				KeyStore ks = setupKeyStore();
+				
 				for (String name : names) {
 					System.out.println("===== " + name + " =====");
-					signatureInformation = verifySignature(af, name);
+					signatureInformation = verifySignature(af, name, ks);
 					System.out.println("signatureInformation.size " + signatureInformation.size());
 					
@@ -523,5 +534,5 @@
 	 * @throws MurachiException 
 	 */
-	public HashMap<String, String> verifySignature(AcroFields fields, String name) 
+	public HashMap<String, String> verifySignature(AcroFields fields, String name, KeyStore ks) 
 			throws GeneralSecurityException, IOException, MurachiException {
 			
@@ -610,5 +621,5 @@
 		
 		
-		KeyStore ks = setupKeyStore();
+		//KeyStore ks = setupKeyStore();
 		
 		Certificate[] certs = pkcs7.getSignCertificateChain();
@@ -667,9 +678,11 @@
 			ks.load(null, null);
 			CertificateFactory cf = CertificateFactory.getInstance("X.509");
-			ks.setCertificateEntry("acraiz",cf.generateCertificate(new FileInputStream(ACRAIZ)));
-			ks.setCertificateEntry("pscfii",cf.generateCertificate(new FileInputStream(PSCFII)));
-			ks.setCertificateEntry("gidsi",cf.generateCertificate(new FileInputStream(GIDSI)));
-			
-			
+			ks.setCertificateEntry("acraiz",
+					cf.generateCertificate(new FileInputStream(getAbsolutePathOfResource("CERTIFICADO-RAIZ-SHA384.crt"))));
+			ks.setCertificateEntry("pscfii", 
+					cf.generateCertificate(new FileInputStream(getAbsolutePathOfResource("PSCFII-SHA256.crt"))));
+			ks.setCertificateEntry("gidsi", 
+					cf.generateCertificate(new FileInputStream(getAbsolutePathOfResource("gidsi.crt"))));
+						
 		} catch (KeyStoreException e) {	
 			logger.error("setupKeyStore() ocurrio una excepcion", e);
@@ -1286,5 +1299,5 @@
 		
 		if (signatureValidationResult.size() > 0) {
-			System.out.println(ANSI_RED + "Signature " + signature.getId() + " is not valid" + ANSI_RESET);
+			System.out.println("Signature " + signature.getId() + " is not valid");
 	        signatureMap.put("isValid", Boolean.toString(false));
 	        int counter = 1;
@@ -1376,5 +1389,5 @@
 	        System.out.println("Signature " + signature.getId() + " is valid");
 	      } else {
-	        System.out.println(ANSI_RED + "Signature " + signature.getId() + " is not valid" + ANSI_RESET);
+	        System.out.println("Signature " + signature.getId() + " is not valid");
 	        for (DigiDoc4JException exception : signatureValidationResult) {
 	          System.out.println((isDDoc ? "        " : "   Error: ")
