Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Código:
   public class Huella
    {
        
        /// <summary>
        /// Clase que devuelve el hash en mayusculas como nos indica la web
        /// </summary>
        /// <param name="source">Cadena a encriptar.</param>
        /// <returns>Hash de la cadena.</returns>public string creaHuella(string source)
        {
            string hash = "";
            using (SHA256 sha256Hash = SHA256.Create())
            {
                hash = GetHash(sha256Hash, source);
                return hash.ToUpper();
              }
        }

         private static string GetHash(HashAlgorithm hashAlgorithm, string input)
        {

            // Convert the input string to a byte array and compute the hash.
            byte[] data = hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(input));

            // Create a new Stringbuilder to collect the bytes
            // and create a string.
            var sBuilder = new StringBuilder();

            // Loop through each byte of the hashed data
            // and format each one as a hexadecimal string.
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }

            // Return the hexadecimal string.
            return sBuilder.ToString();
        }

        // Verify a hash against a string.
        private static bool VerifyHash(HashAlgorithm hashAlgorithm, string input, string hash)
        {
            // Hash the input.
            var hashOfInput = GetHash(hashAlgorithm, input);

            // Create a StringComparer an compare the hashes.
            StringComparer comparer = StringComparer.OrdinalIgnoreCase;

            return comparer.Compare(hashOfInput, hash) == 0;
        }
    }
Me he comido un corchete al eliminar las salidas a consola, reparado.
  #2  
Antiguo 14-06-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Otra pregunta para verifactu. Estaría bien que la lanzaremos desde distintos puntos de vista según necesidades:
¿Habrá un sitio web en el que podamos realizar ciertas operaciones con las facturas emitidas al igual que con el SII? Por ejemplo una anulación o una rectificación de cliente.
Ya aue el dejar en mano del usuario del TPV puede ser arriesgado y en ciertos casos es necesario centralizar operaciones que necesitan ciertas comprobaciones.
  #3  
Antiguo 14-06-2024
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 45
Poder: 0
Jesusggc Va por buen camino
Firma de RegistroFacturacionAlta con Autofirma

Buenas

Para el que le venga bien mi aportación.

1. Creacion de RegistroFacturacionAltaType
2. Escribir Clase RegistroFacturacionAltaType en disco XML
3. Firmar con autofirma(XADES Enveloped y Namespace=la del excel.
4. He pasado (Parse) el fichero firmado xsig de fichero fisico en disco a clase RegistroFacturacionAltaType y todo correcto. Por lo que la firma es correcta.

Codigo de Firma : (vb.net)

Código:
Public Shared Sub FirmarXmlXades(ByVal pFicheroXml As String, ByVal pAliasCertificado As String)

        Dim strFicheroXmlFirmado As String = pFicheroXml.Substring(0, pFicheroXml.Length - 4) & "_signed.xsig"

        Try

           
            Using p As New Process

                With p
                    .StartInfo.UseShellExecute = False
                    .StartInfo.FileName = "cmd.exe"
                    .StartInfo.CreateNoWindow = True
                    .StartInfo.Arguments = $"/c autofirmacommandline sign -i {pFicheroXml} -o " &
                    strFicheroXmlFirmado & " -store windows -alias """ & pAliasCertificado &
                    $""" -config " & """format=XAdES Enveloped\nxadesNamespace=:namespacedefinido en excel"""
                End With

                p.Start()
                p.WaitForExit()

            End Using


        Catch ex As Exception

            Throw

        End Try

    End Sub
PD. la Url de xadesNamespace la que aparece en el excel. Que aun el foro no me deja insertar imagenes o urls

Un saludo

Última edición por Casimiro Noteví fecha: 14-06-2024 a las 10:26:32.
  #4  
Antiguo 14-06-2024
Jesusggc Jesusggc is offline
Miembro
 
Registrado: may 2024
Posts: 45
Poder: 0
Jesusggc Va por buen camino
Registro de Anulacion

Buenos días

Mi cuestión es (lo mismo es una tontería). Si las facturas son inalterables, es decir, no se pueden ni eliminar ni modificar. Que sentido tiene la existencia de un Registro de Anulacion.

Os agradecería me aclaraseis la duda.

Gracias.

Un saludo. :-)
  #5  
Antiguo 14-06-2024
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Jesusggc Ver Mensaje
Buenas
No olvides poner el código entre las etiquetas correspondientes, para que se muestre bien.
  #6  
Antiguo 24-07-2024
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Código:
   public class Huella
    {
        /// <summary>
        /// Clase que devuelve el hash en mayusculas como nos indica la web
        /// </summary>
        /// <param name="source">Cadena a encriptar.</param>
        /// <returns>Hash de la cadena.</returns>public string creaHuella(string source)
        {
            string hash = "";
            using (SHA256 sha256Hash = SHA256.Create())
            {
                hash = GetHash(sha256Hash, source);
                return hash.ToUpper();
              }
        }

         private static string GetHash(HashAlgorithm hashAlgorithm, string input)
        {

            // Convert the input string to a byte array and compute the hash.
            byte[] data = hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(input));

            // Create a new Stringbuilder to collect the bytes
            // and create a string.
            var sBuilder = new StringBuilder();

            // Loop through each byte of the hashed data
            // and format each one as a hexadecimal string.
            for (int i = 0; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));
            }

            // Return the hexadecimal string.
            return sBuilder.ToString();
        }

        // Verify a hash against a string.
        private static bool VerifyHash(HashAlgorithm hashAlgorithm, string input, string hash)
        {
            // Hash the input.
            var hashOfInput = GetHash(hashAlgorithm, input);

            // Create a StringComparer an compare the hashes.
            StringComparer comparer = StringComparer.OrdinalIgnoreCase;

            return comparer.Compare(hashOfInput, hash) == 0;
        }
    }
¡Muchísimas gracias! ¡Estupendo aporte!
  #7  
Antiguo 25-07-2024
xamminf xamminf is offline
Miembro
 
Registrado: ene 2017
Posts: 216
Poder: 10
xamminf Va por buen camino
Una pregunta de principiante,

La diferencia entre los sistemas Verifactu y No Verifactu ¿ Es sólo que el no verifactu no envía automáticamente la factura ?

Gracias
  #8  
Antiguo 25-07-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por xamminf Ver Mensaje
Una pregunta de principiante,

La diferencia entre los sistemas Verifactu y No Verifactu ¿ Es sólo que el no verifactu no envía automáticamente la factura ?

Gracias
Esencialmente es que además si nk envía tienes que tener en cuenta los registros de eventos, firmar los xmls y que conserves perfectamente los archivos los años que hacen falta 4 ó 5 no recuerdo
  #9  
Antiguo 25-07-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.442
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por xamminf Ver Mensaje
Una pregunta de principiante,
La diferencia entre los sistemas Verifactu y No Verifactu ¿ Es sólo que el no verifactu no envía automáticamente la factura ?

No.
El envío es lo de menos.
Si no estás en veri*factu hay una serie de premisas que tu sistema DEBE cumplir; Esas mismas premisas si estás en veri*factu se asume que ya se cumplen al enviar la factura a la AEAT.

Esta es una imagen de una dispositiva de las primera presentaciones.
Busca referencias a los elementos a los que se hace referencia en la parte derecha.


__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
  #10  
Antiguo 25-07-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por unomasmas Ver Mensaje
¡Muchísimas gracias! ¡Estupendo aporte!
De nada , me alegra que le sea util a alguien mas.
Tema Cerrado


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 00:29:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi