package ve.gob.cenditel.tibisaymovil; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.channels.FileChannel; import java.util.ArrayList; import java.util.Collection; import ee.sk.digidoc.DigiDocException; import android.content.Context; import android.net.Uri; import android.os.Environment; import android.os.StatFs; import android.text.format.DateFormat; import android.util.Log; /** * Clase para utilidades sobre contenedores BDOC * * */ public class BDOCUtils { public BDOCUtils() {} public static String translateErrors(ArrayList list) { String errorList = ""; for (int i = 0; i < list.size(); i++) { if ( ((DigiDocException) list.get(i)).getCode() == 82) { errorList = errorList.concat("El certificado firmante expiró"); } } return errorList; } // funcion para traducir el codigo de error al verificar una firma electronica public static String translateError(int codeError) { String stringError = ""; if ( codeError == 38) stringError = stringError.concat("Error interno: No se encontró el valor de la firma."); if ( codeError == 39) stringError = stringError.concat("El certificado del firmante no existe."); if ( codeError == 53) stringError = stringError.concat("No se encontró el certificado del servidor OCSP."); if ( codeError == 70) stringError = stringError.concat("Error interno: sólo se soporta un servidor OCSP. Servidor OCSP inválido."); if ( codeError == 78) stringError = stringError.concat("Error interno: no hay elemento de referencia para uno de los archivos firmados."); if ( codeError == 79) stringError = stringError.concat("Error interno: el valor de la reseña (hash) es incorrecto."); if ( codeError == 80) stringError = stringError.concat("Error interno: no hay elemento de referencia para bloque SignedProperties de la firma."); if ( codeError == 81) stringError = stringError.concat("El certificado del firmante es inválido o no existe."); if ( codeError == 82) stringError = stringError.concat("El certificado del firmante expiró."); if ( codeError == 83) stringError = stringError.concat("Error interno: el valor del OCSP está vacío"); if ( codeError == 90) stringError = stringError.concat("La firma no tiene confirmación OCSP."); if ( codeError == 94) stringError = stringError.concat("El certificado firmante no ha sido firmado por una AC raíz conocida."); if ( codeError == 129) stringError = stringError.concat("Se está usando un algoritmo de reseña (hash) considerado débil."); if ( codeError ==162) stringError = stringError.concat("El certificado del firmante no posee el bit de no repudio."); return stringError; } }