Fatturazione elettronica B2B

di il
1159 risposte

1159 Risposte - Pagina 18

  • Re: Fatturazione elettronica B2B

    +m2+ ha scritto:


    Ovviamente se esistesse un XML firmato, come già detto, basterebbero un paio d'ore per guardare i tag che ci sono dentro, e rifare una firma uguale.
    Allo stato il "mio" firmatore XAdES genera XML che il checker dell'agenzia delle entrate riconosce come buona.

    Ma, in realtà, non so perchè (cioè è un "paciugamento" che ho fatto io, non una specifica tecnica seguita per filo e per segno).

    Potrei lasciar perdere e tenere p7m e, infatti, il programma già l'ho fatto ... ma non voglio arrendermi!
    ho un file firmato, è di un mio cliente, se mi mandi la mail, tolgo dall'xml i dati riconducibili e te lo mando.
    ovviamente fallirà la verifica, ma almeno vedi cosa c'è.

    PS: mi potresi dare una mano con le librerie di aruba per la firma ?
    grazie
  • Re: Fatturazione elettronica B2B

    Anzi, visto che magari può servire ad altri, lo posto qua:
    
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="fatturapa_v1.2.xsl"?>
    <ns3:FatturaElettronica versione="FPR12" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2">
        <FatturaElettronicaHeader>
            <DatiTrasmissione>
                <IdTrasmittente>
                    <IdPaese>IT</IdPaese>
                    <IdCodice>00000000000</IdCodice>
                </IdTrasmittente>
                <ProgressivoInvio>00209</ProgressivoInvio>
                <FormatoTrasmissione>FPR12</FormatoTrasmissione>
                <CodiceDestinatario>0000000</CodiceDestinatario>
                <ContattiTrasmittente>
                    <Telefono>000000000000</Telefono>
                </ContattiTrasmittente>
                <PECDestinatario>indirizzo@pec.it</PECDestinatario>
            </DatiTrasmissione>
            <CedentePrestatore>
                <DatiAnagrafici>
                    <IdFiscaleIVA>
                        <IdPaese>IT</IdPaese>
                        <IdCodice>00000000000</IdCodice>
                    </IdFiscaleIVA>
                    <CodiceFiscale>00000000000</CodiceFiscale>
                    <Anagrafica>
                        <Denominazione>FORNITORE</Denominazione>
                    </Anagrafica>
                    <RegimeFiscale>RF01</RegimeFiscale>
                </DatiAnagrafici>
                <Sede>
                    <Indirizzo>VIA .....</Indirizzo>
                    <CAP>00000</CAP>
                    <Comune>COMUNE</Comune>
                    <Provincia>VI</Provincia>
                    <Nazione>IT</Nazione>
                </Sede>
            </CedentePrestatore>
            <CessionarioCommittente>
                <DatiAnagrafici>
                    <IdFiscaleIVA>
                        <IdPaese>IT</IdPaese>
                        <IdCodice>00000000000</IdCodice>
                    </IdFiscaleIVA>
                    <CodiceFiscale>00000000000</CodiceFiscale>
                    <Anagrafica>
                        <Denominazione>CLIENTE</Denominazione>
                    </Anagrafica>
                </DatiAnagrafici>
                <Sede>
                    <Indirizzo>VIA ....</Indirizzo>
                    <CAP>00000</CAP>
                    <Comune>COMUNE</Comune>
                    <Provincia>VI</Provincia>
                    <Nazione>IT</Nazione>
                </Sede>
            </CessionarioCommittente>
            <TerzoIntermediarioOSoggettoEmittente>
                <DatiAnagrafici>
                    <IdFiscaleIVA>
                        <IdPaese>IT</IdPaese>
                        <IdCodice>01641790702</IdCodice>
                    </IdFiscaleIVA>
                    <CodiceFiscale>01641790702</CodiceFiscale>
                    <Anagrafica>
                        <Denominazione>TEAMSYSTEM SERVICE SRL</Denominazione>
                    </Anagrafica>
                </DatiAnagrafici>
            </TerzoIntermediarioOSoggettoEmittente>
            <SoggettoEmittente>TZ</SoggettoEmittente>
        </FatturaElettronicaHeader>
        <FatturaElettronicaBody>
            <DatiGenerali>
                <DatiGeneraliDocumento>
                    <TipoDocumento>TD01</TipoDocumento>
                    <Divisa>EUR</Divisa>
                    <Data>2018-07-13</Data>
                    <Numero>3135</Numero>
                    <ImportoTotaleDocumento>12890.52</ImportoTotaleDocumento>
                </DatiGeneraliDocumento>
                <DatiDDT>
                    <NumeroDDT>43723/001</NumeroDDT>
                    <DataDDT>2018-07-12</DataDDT>
                </DatiDDT>
            </DatiGenerali>
            <DatiBeniServizi>
                <DettaglioLinee>
                    <NumeroLinea>1</NumeroLinea>
                    <Descrizione>GAS06 GASOLIO AUTOTRAZIONE 0,001 S Accisa totale:      5556,60000</Descrizione>
                    <Quantita>9000.00</Quantita>
                    <UnitaMisura>LT</UnitaMisura>
                    <PrezzoUnitario>1.174</PrezzoUnitario>
                    <PrezzoTotale>10566.00</PrezzoTotale>
                    <AliquotaIVA>22.00</AliquotaIVA>
                </DettaglioLinee>
                <DatiRiepilogo>
                    <AliquotaIVA>22.00</AliquotaIVA>
                    <ImponibileImporto>10566.00</ImponibileImporto>
                    <Imposta>2324.52</Imposta>
                    <EsigibilitaIVA>I</EsigibilitaIVA>
                </DatiRiepilogo>
            </DatiBeniServizi>
            <DatiPagamento>
                <CondizioniPagamento>TP02</CondizioniPagamento>
                <DettaglioPagamento>
                    <ModalitaPagamento>MP01</ModalitaPagamento>
                    <DataRiferimentoTerminiPagamento>2018-07-13</DataRiferimentoTerminiPagamento>
                    <GiorniTerminiPagamento>79</GiorniTerminiPagamento>
                    <DataScadenzaPagamento>2018-09-30</DataScadenzaPagamento>
                    <ImportoPagamento>12890.52</ImportoPagamento>
                </DettaglioPagamento>
            </DatiPagamento>
            <Allegati>
                <NomeAttachment>0010-003135-000-20180713.pdf</NomeAttachment>
                <Attachment>attachment_rimosso. c'era il file pdf con la copia originale cartacea della fattura</Attachment>
            </Allegati>
        </FatturaElettronicaBody>
    <ds:Signature Id="xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2006/12/xml-c14n11"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
    <ds:Reference URI="#xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-keyinfo">
    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
    <ds:DigestValue>6U96HjuD1FFi63KIh3Q/ERmXHimQnNUAcEx+LfXLY60=</ds:DigestValue>
    </ds:Reference>
    <ds:Reference Id="xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-ref0" URI="">
    <ds:Transforms>
    <ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><dsig-xpath:XPath Filter="subtract" xmlns:dsig-xpath="http://www.w3.org/2002/06/xmldsig-filter2">/descendant::ds:Signature</dsig-xpath:XPath></ds:Transform>
    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    </ds:Transforms>
    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
    <ds:DigestValue>GLtwGYKqMsegjrL2leGY0uUh29joHHnwuBV9l8eEh0A=</ds:DigestValue>
    </ds:Reference>
    <ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-signedprops">
    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
    <ds:DigestValue>/n/ankgkOkZ99WRuXfaF0MdIkOCthmZfMbATPyO/FW8=</ds:DigestValue>
    </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue Id="xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-sigvalue">
    R6/7ePtFVRwy8QrJC8YiKeXbFtQiP0+fHYIMzyahKxZll3H5lrFAWVMLXqMz9XnXptn+2ILcAbHW
    PsZkwObAuqYRaAm9j07BLo3b4uMlxgjJ9eeyDU7gFcbcFzia62BLmZk27g2OtXFQCmKqa2BshdYF
    A9XNaE2Nmbcgg1Ae0cCni1j9EdnI81RPYG7NxnHQfTaa+gXmtkSzXIUEOJYxpaGqbpnEgVHbUuYH
    ee9Qh7X563mym7d4lJ7DhVDCICQillQPIM14rLwJmwjJrTCVhEvTE3vfLbRmPXU78vFFtl49FfDj
    SW1eUvXqrcli6iN7eVcmiteKLzWfeuXAsaHGpQ==
    </ds:SignatureValue>
    <ds:KeyInfo Id="xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-keyinfo">
    <ds:X509Data>
    <ds:X509Certificate>
    MIIGcTCCBVmgAwIBAgIIeGZKZ0g1SOgwDQYJKoZIhvcNAQELBQAwfTELMAkGA1UEBhMCSVQxJDAi
    BgNVBAoMG05hbWlyaWFsIFMucC5BLi8wMjA0NjU3MDQyNjEgMB4GA1UECwwXQ2VydGlmaWNhdGlv
    biBBdXRob3JpdHkxJjAkBgNVBAMMHU5hbWlyaWFsIENBIEZpcm1hIFF1YWxpZmljYXRhMB4XDTE2
    MDUzMDEwMzEwMFoXDTE5MDUzMDIyMDAwMFowgaMxCzAJBgNVBAYTAklUMRUwEwYDVQQKDAxOT04g
    UFJFU0VOVEUxEjAQBgNVBAQMCURJIFJJRU5aTzEQMA4GA1UEKgwHTUlDSEVMRTEcMBoGA1UEBRMT
    SVQ6RFJOTUhMNjZFMzBaNDAxVzEaMBgGA1UEAwwRREkgUklFTlpPIE1JQ0hFTEUxHTAbBgNVBC4T
    FEFVRE0yMDE2MDUzMDQyNjY1MjYwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+ZCQ
    8AP+xyrxYPJ0M46EQiuxvoJ1AJzFaBkaakU2QPQYMyOdedH42iAzkfVd8JjYrFcqvJtF//1ycxwR
    vXsPKv5+6RAF67SxZhBlOyycljPE0qqqmO1kAJrq/Wuyk9QNUpEdVoJUf60vXgXYK3khH73uV60d
    ycYS5+xcjjZKlpkFvSKas8fZNyh4t98aZdHhVNsSrvkTCK8dn9rjUYAmZNemT8cwzOUwGAC6OcYd
    h33LjpR1QUyaIXNwgWMW95VqLVZpXvASD8wIK3HPkHKtbmUEo05c1zkSliD5TR6fA77Nz7Giv2UA
    bSSN5aFYp+Z6+9QBnvXCMj08lM9EnMztEwIDAQABo4ICzDCCAsgwRQYIKwYBBQUHAQEEOTA3MDUG
    CCsGAQUFBzABhilodHRwOi8vb2NzcC5maXJtYWNlcnRhLml0L29jc3AvY2VydHN0YXR1czAdBgNV
    HQ4EFgQU3kmB8hrbhp19tgNOJtOsBJ0YfAMwHwYDVR0jBBgwFoAUY/3t5oxiR0jP6glBc3YR4mRi
    exAwOwYIKwYBBQUHAQMELzAtMAoGCCsGAQUFBwsBMAgGBgQAjkYBATALBgYEAI5GAQMCARQwCAYG
    BACORgEEMIIBqgYDVR0gBIIBoTCCAZ0wggGZBgsrBgEEAYKaawEBAzCCAYgwMAYIKwYBBQUHAgEW
    JGh0dHA6Ly93d3cuZmlybWFjZXJ0YS5pdC9tYW51YWxpLU1PLzCCAVIGCCsGAQUFBwICMIIBRB6C
    AUAASQBsACAAcAByAGUAcwBlAG4AdABlACAAYwBlAHIAdABpAGYAaQBjAGEAdABvACAA6AAgAHYA
    YQBsAGkAZABvACAAcwBvAGwAbwAgAHAAZQByACAAZgBpAHIAbQBlACAAYQBwAHAAbwBzAHQAZQAg
    AGMAbwBuACAAcAByAG8AYwBlAGQAdQByAGEAIABhAHUAdABvAG0AYQB0AGkAYwBhAC4ALwBUAGgA
    aQBzACAAYwBlAHIAdABpAGYAaQBjAGEAdABlACAAbQBhAHkAIABvAG4AbAB5ACAAYgBlACAAdQBz
    AGUAZAAgAGYAbwByACAAdQBuAGEAdAB0AGUAbgBkAGUAZAAvAGEAdQB0AG8AbQBhAHQAZQBkACAA
    ZABpAGcAaQB0AGEAbAAgAHMAaQBnAG4AYQB0AHUAcgBlAHMALjBEBgNVHR8EPTA7MDmgN6A1hjNo
    dHRwOi8vY3JsLmZpcm1hY2VydGEuaXQvRmlybWFDZXJ0YVF1YWxpZmljYXRhMS5jcmwwDgYDVR0P
    AQH/BAQDAgZAMA0GCSqGSIb3DQEBCwUAA4IBAQDJ0eVIwyX22KrFawYVzdOOmOCQvzjYn+V3ekZy
    UQFqp1LSFX66YYjvCRZNpVPAsGUqgZxDyzb4tELOsg+P6avzoSq6t2xhzD4NjrbuHu6oG+Da7dsu
    X+2xVxvvulwDWBUjP3Q2S5wSgQORjWiuCb9goek9qwYDroHFbsx0tOupQKqlrV6bxk+IiZoJZIni
    l9l1C2BSaNrTKVCufGO1lXn8QZsrUlnjyK/GlyKDTnq27fPNRTJ50BVcWNh75AYbUt9z0EqKqslD
    BQZge0adQtvqx5UcWie3AzrCHzw6pxqVtoEkhX/77Cccf3JsU8wBRuaeudGhNM4P0YYcKsFhFS/+
    </ds:X509Certificate>
    </ds:X509Data>
    </ds:KeyInfo>
    <ds:Object><xades:QualifyingProperties Target="#xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#"><xades:SignedProperties Id="xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-signedprops"><xades:SignedSignatureProperties><xades:SigningTime>2018-07-13T10:16:20.810Z</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ns2:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ns2:DigestValue>IoxqxvKlcid+Ul8y6xoggwfld+T1sTaesRXvY8sqO1o=</ns2:DigestValue></xades:CertDigest><xades:IssuerSerial><ns2:X509IssuerName>CN=Namirial CA Firma Qualificata,OU=Certification Authority,O=Namirial S.p.A./02046570426,C=IT</ns2:X509IssuerName><ns2:X509SerialNumber>8675703539629377768</ns2:X509SerialNumber></xades:IssuerSerial></xades:Cert><xades:Cert><xades:CertDigest><ns2:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ns2:DigestValue>wC+V94r4CySaNIHKQZJK5g12Y4Z8XyL/hDeg6Mw0QTc=</ns2:DigestValue></xades:CertDigest><xades:IssuerSerial><ns2:X509IssuerName>CN=Namirial CA Firma Qualificata,OU=Certification Authority,O=Namirial S.p.A./02046570426,C=IT</ns2:X509IssuerName><ns2:X509SerialNumber>4708725866506655769</ns2:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object>
    </ds:Signature></ns3:FatturaElettronica>
    
  • Re: Fatturazione elettronica B2B

    andwork ha scritto:


    +m2+ ha scritto:


    Ovviamente se esistesse un XML firmato, come già detto, basterebbero un paio d'ore per guardare i tag che ci sono dentro, e rifare una firma uguale.
    Allo stato il "mio" firmatore XAdES genera XML che il checker dell'agenzia delle entrate riconosce come buona.

    Ma, in realtà, non so perchè (cioè è un "paciugamento" che ho fatto io, non una specifica tecnica seguita per filo e per segno).

    Potrei lasciar perdere e tenere p7m e, infatti, il programma già l'ho fatto ... ma non voglio arrendermi!
    ho un file firmato, è di un mio cliente, se mi mandi la mail, tolgo dall'xml i dati riconducibili e te lo mando.
    ovviamente fallirà la verifica, ma almeno vedi cosa c'è.

    PS: mi potresi dare una mano con le librerie di aruba per la firma ?
    grazie
    Somiglia parecchio a quello che mi sono 'inventato' forse sono sulla strada giusta.
    Per il ps ovviamente si nel caso scrivi pm
  • Re: Fatturazione elettronica B2B

    andwork ha scritto:


    se ti può servire, io ho trovato questa libreria, dal costo abbastanza contenuto: $ 289
    Ho mandato una email per chiedere se è adatto per l'uso italiano (con token), vediamo se rispondono.
    Il prodotto sembra buono: paradossalmente studiando i loro esempi sto imparando cose nuove.
  • Re: Fatturazione elettronica B2B

    +m2+ ha scritto:


    andwork ha scritto:


    se ti può servire, io ho trovato questa libreria, dal costo abbastanza contenuto: $ 289
    Ho mandato una email per chiedere se è adatto per l'uso italiano (con token), vediamo se rispondono.
    Il prodotto sembra buono: paradossalmente studiando i loro esempi sto imparando cose nuove.
    sono felice che sia stato utile a qualcun'altro, oltre che a me
  • Re: Fatturazione elettronica B2B

    +m2+ ha scritto:


    Ho mandato una email per chiedere se è adatto per l'uso italiano (con token), vediamo se rispondono.
    Il prodotto sembra buono: paradossalmente studiando i loro esempi sto imparando cose nuove.
    Ma se hai già realizzato il software per apporre la firma digitale in "CADES",
    perchè mai sei interessato a questo altro software ?

    p.s. dovrebbe servire più a me, che non ho nulla per firmare i file..
  • Re: Fatturazione elettronica B2B

    [Neapolis] ha scritto:


    +m2+ ha scritto:


    Ho mandato una email per chiedere se è adatto per l'uso italiano (con token), vediamo se rispondono.
    Il prodotto sembra buono: paradossalmente studiando i loro esempi sto imparando cose nuove.
    Ma se hai già realizzato il software per apporre la firma digitale in "CADES",
    perchè mai sei interessato a questo altro software ?

    p.s. dovrebbe servire più a me, che non ho nulla per firmare i file..
    perché il massimo non è abbastanza (per me).
    Comunque sto perfezionando intanto impacchetta e spacchetta p7m.
    Poi farò pades (per gli avvocati) e a tempo perso xml.
    Magari, nel frattempo, i geni ade pubblicheranno un esempio

    Sono interessato perché costa moolto meno (300 euro vs 2000 circa)
  • Re: Fatturazione elettronica B2B

    Update riguardo alla firma direttamente su XML:

    nel blog di chilkat ho trovato questa pagina:


    in pratica, inserendo un file XML firmato, ti crea il codice sorgente per farlo dal tuo programma, quindi per +m2+, questo dovrebbe risolvere il tuo problema.
    Partendo dal file XML che ho postato prima, sono giunto a questo codice VB6:
    
    '  ----------------------------------------------------------------------
    '  IMPORTANT: This generated example requires Chilkat v9.5.0.75 or later.
    '  Contact support@chilkatsoft.com for a pre-release.
    '  ----------------------------------------------------------------------
    '  Create the XML to be signed...
    Dim xmlToSign As New ChilkatXml
    xmlToSign.Tag = "ns3:FatturaElettronica"
    success = xmlToSign.AddAttribute("versione","FPR12")
    success = xmlToSign.AddAttribute("xmlns:ns2","http://www.w3.org/2000/09/xmldsig#")
    success = xmlToSign.AddAttribute("xmlns:ns3","http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2")
    [b]xmlToSign.UpdateChildContent "pippone dove inserire tutto l'XML"
    xmlToSign.UpdateChildContent "pippone dove inserire tutto l'XML"
    xmlToSign.UpdateChildContent "pippone dove inserire tutto l'XML"
    xmlToSign.UpdateChildContent "pippone dove inserire tutto l'XML"[/b]
    
    Dim gen As New ChilkatXmlDSigGen
    Dim success As Long
    success = 1
    
    gen.SigLocation = "ns3:FatturaElettronica"
    gen.SigId = "xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb"
    gen.SigNamespacePrefix = "ds"
    gen.SigNamespaceUri = "http://www.w3.org/2000/09/xmldsig#"
    gen.SigValueId = "xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-sigvalue"
    gen.SignedInfoCanonAlg = "C14N_11"
    gen.SignedInfoDigestMethod = "sha256"
    
    '  Create an Object to be added to the Signature.
    Dim object1 As New ChilkatXml
    object1.Tag = "xades:QualifyingProperties"
    success = object1.AddAttribute("Target","#xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb")
    success = object1.AddAttribute("xmlns:xades","http://uri.etsi.org/01903/v1.3.2#")
    success = object1.AddAttribute("xmlns:xades141","http://uri.etsi.org/01903/v1.4.1#")
    success = object1.UpdateAttrAt("xades:SignedProperties",1,"Id","xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-signedprops")
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningTime","TO BE GENERATED BY CHILKAT"
    success = object1.UpdateAttrAt("xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert|xades:CertDigest|ns2:DigestMethod",1,"Algorithm","http://www.w3.org/2001/04/xmlenc#sha256")
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert|xades:CertDigest|ns2:DigestValue","IoxqxvKlcid+Ul8y6xoggwfld+T1sTaesRXvY8sqO1o="
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert|xades:IssuerSerial|ns2:X509IssuerName","CN=Namirial CA Firma Qualificata,OU=Certification Authority,O=Namirial S.p.A./02046570426,C=IT"
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert|xades:IssuerSerial|ns2:X509SerialNumber","8675703539629377768"
    success = object1.UpdateAttrAt("xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert[1]|xades:CertDigest|ns2:DigestMethod",1,"Algorithm","http://www.w3.org/2001/04/xmlenc#sha256")
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert[1]|xades:CertDigest|ns2:DigestValue","wC+V94r4CySaNIHKQZJK5g12Y4Z8XyL/hDeg6Mw0QTc="
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert[1]|xades:IssuerSerial|ns2:X509IssuerName","CN=Namirial CA Firma Qualificata,OU=Certification Authority,O=Namirial S.p.A./02046570426,C=IT"
    object1.UpdateChildContent "xades:SignedProperties|xades:SignedSignatureProperties|xades:SigningCertificate|xades:Cert[1]|xades:IssuerSerial|ns2:X509SerialNumber","4708725866506655769"
    
    success = gen.AddObject("",object1.GetXml(),"","")
    
    '  -------- Reference 1 --------
    gen.KeyInfoId = "xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-keyinfo"
    success = gen.AddSameDocRef("xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-keyinfo","sha256","","","")
    
    '  -------- Reference 2 --------
    success = gen.AddSameDocRef("","sha256","","","")
    success = gen.SetRefIdAttr("","xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-ref0")
    
    '  -------- Reference 3 --------
    success = gen.AddObjectRef("xmldsig-e2f7a584-793c-4678-9e9a-f85e8e2f14cb-signedprops","sha256","","","http://uri.etsi.org/01903#SignedProperties")
    
    '  Load a certificate that has been pre-installed on the Windows system
    '  This includes certificates on smartcards and USB tokens
    Dim cert As New ChilkatCert
    success = cert.LoadByCommonName("The cert Subject CN")
    If (success <> 1) Then
        Debug.Print cert.LastErrorText
        Exit Sub
    End If
    
    '  You may provide the PIN here.  Otherwise Windows will display a PIN dialog.
    cert.SmartCardPin = "000000"
    
    success = gen.SetX509Cert(cert,1)
    gen.KeyInfoType = "X509Data"
    gen.X509Type = "Certificate"
    
    '  Load XML to be signed...
    Dim sbXml As New ChilkatStringBuilder
    success = xmlToSign.GetXmlSb(sbXml)
    
    gen.Behaviors = "CompactSignedXml,ForceAddEnvelopedSignatureTransform"
    
    '  Sign the XML...
    success = gen.CreateXmlDSigSb(sbXml)
    If (success <> 1) Then
        Debug.Print gen.LastErrorText
        Exit Sub
    End If
    
    '  Save the signed XMl to a file.
    success = sbXml.WriteFile("qa_output/signedXml.xml","utf-8",0)
    
    Debug.Print sbXml.GetAsString()
    
    '  ----------------------------------------
    '  Verify the signature we just produced...
    Dim verifier As New ChilkatXmlDSig
    success = verifier.LoadSignatureSb(sbXml)
    If (success <> 1) Then
        Debug.Print verifier.LastErrorText
        Exit Sub
    End If
    
    Dim verified As Long
    verified = verifier.VerifySignature(1)
    If (verified <> 1) Then
        Debug.Print verifier.LastErrorText
        Exit Sub
    End If
    
    Debug.Print "This signature was successfully verified."
    

    fin qui tutto bello.
    il brutto è che questo codice vuole la libreria di chilkat versione 9.5.0.75
    mentre sul sito si trova solo la 9.5.0.73

    e ovviamente detto codice non funziona con la 9.5.0.73
  • Re: Fatturazione elettronica B2B

    ... abbi pazienza... e magicamente dovrebbe arrivare anche quella...
  • Re: Fatturazione elettronica B2B

    Vabbè metto il programmello (non so quando scadrà la licenza, penso a fine mese).
    Utilizzo solo a rischio e pericolo dell'utente
    https://ufile.io/x4fa

    SHA1: 5814f17485ba76a8d305c64809ca919980cd172c

    PREREQUISITO: chiavetta aruba inserita (una sola), programma driver bit4id installato
    (utilities => import certificato => installazione aruba key utilities =>stai per installare i driver per l'utilizzo della carta)

    Il programma (alpha) ha varie modalità di funzionamento (non fa alcun controllo, quindi attenzione!)
    Controllato su Win10 enterprise LTSB 64 bit, utente con superpoteri (cioè sempre amministratore).


    1) passando a riga di comando uno o più file vengono firmati CAdES (cioè diventano p7m).
    in questo caso chiede il PIN.
    non fare "giochetti strani": indicare il percorso completo, niente jolly, non cercare di "fregare" il programma.
    Non ha nessun controllo.
    es. ihsv.exe c:\prove\documento1.jpg c:\prove\fattura.xml
    2) se il programma eseguibile ha un nome qualsiasi, con dentro esattamente 8 cifre, usa quello come pin.
    Se il pin della chiavetta è ad esempio 12345678, se si chiama il programma
    pippo12345678.exe durante la firma NON chiede il PIN
    Ovviamente consiglio caldamente di mettere IL PIN GIUSTO per evitare di bloccare la chiavetta!
    pippo12345678.exe c:\prove\documento1.jpg c:\prove\fattura.xml firma usando come PIN 12345678

    3) si può usare il bottone "+cades (p7m)" da cui selezionare una serie di file (cioè anche più di uno)
    Vale il discorso di prima (se l'eseguibile ha dentro il PIN lo usa senza chiederlo, altrimenti lo fa)
    Di nuovo niente "tentativi strani": pin da 8 cifre numeriche senza metterlo negativo, con altre cifre,
    più corto e così via.

    La chiavetta è la vostra, dopo 3 pin errati si blocca e ci vuole il PUK.
    A buon intenditor...

    ---
    Se qualcuno si chiede perchè c'è un mezzo hashatore SHA256 dentro è per scopo futuro:
    prima calcolerò l'HASH del file originale, poi lo firmerò, poi lo spacchetterò (cioè estrarrò il file che c'è dentro), poi controllerò che l'HASH sia identico a quello iniziale (tanto per andar sul sicuro, estensione futura).
    Quindi se si trascinano dei file dentro parte il calcolo SHA256.
    Se qualcuno ancora più curioso si chiede perchè un controllo hash e non binario, è perchè sono fanatico ed uso un codice a 64bit che controlla file >2GB anche con applicativi a 32 bit.

    ---
    Non sto avanzando poichè aspetto di vedere se trovo libreria funzionale e meno costosa (senza dover rifare da capo)
    Magari domani perfeziono un pochino.

    Nota di colore: se nella cartella del programma ci sono due file, denominati
    dooropen1.wav e associaerrore.wav, li riproduce.
    io uso i suoni di star trek

    questo è associaerrore.wav
    https://ufile.io/diih

    e dooropen1.wav
    https://ufile.io/hsue
    ATTENZIONE AL PIN DELLA CHIAVETTA. ATTENZIONE IN GENERALE, PROGRAMMA STUDIO DI FATTIBILITA', QUINDI STA INSIEME CON LO SPUTO

    sconsiglio quindi
    - di usarlo senza chiavetta inserita
    - di usarlo con una qualsiasi chiavetta che non sia aruba
    - di usare una chiavetta con più certificati (usa il n°1, cioè il secondo presente)
    - di usarlo senza aver installato i driver bit4id
    - di usarlo con una installazione windows non standard (cioè senza c:\windows per capirci)
    - di usarlo con un "mischione" di driver bit4id (pezzi di versioni differenti)
    - di mettere pin a caso
    - di usare file con nomi strani (anzi meglio ancora senza spazi)
    - di usare file giganti
    - di provarlo con wine
    - di lanciarlo su sistema operativo diverso
    - di non lavarsi le mani dopo essere andati in bagno
  • Re: Fatturazione elettronica B2B

    +m2+ ha scritto:


    Vabbè metto il programmello (non so quando scadrà la licenza, penso a fine mese).
    Utilizzo solo a rischio e pericolo dell'utente
    Continui a chiamarlo "programmello" quando in realtà si tratta di un software utilissimo,

    io temo di non poterlo usare in quanto non possiedo la smart card ne il lettore bit4
    (ti ricordo, che in circolazione ci sono diversi lettori di smart card [alcuni anche cinesi] che utilizzano driver diversi da quello da te usato, anche se la Camera di Commercio normalmente distribuisce il bit4.

    Grazie, per aver reso disponibile il tuo software.
  • Re: Fatturazione elettronica B2B

    [Neapolis] ha scritto:


    +m2+ ha scritto:


    Vabbè metto il programmello (non so quando scadrà la licenza, penso a fine mese).
    Utilizzo solo a rischio e pericolo dell'utente
    Continui a chiamarlo "programmello" quando in realtà si tratta di un software utilissimo,

    io temo di non poterlo usare in quanto non possiedo la smart card ne il lettore bit4
    Se hai i certificati (su file) e sei così coraggioso da inviarmeli per PM penso sia possibile utilizzare anch'essi
    (ti ricordo, che in circolazione ci sono diversi lettori di smart card [alcuni anche cinesi] che utilizzano driver diversi da quello da te usato, anche se la Camera di Commercio normalmente distribuisce il bit4.
    Sì, lo so.
    Ma francamente... me ne infischio (fino a quando non trovo qualcuno disposto a pagare per usare il proprio lettore)
  • Re: Fatturazione elettronica B2B

    Aggiornamento su chilkat.
    Non ha un interfacciamento specifico PKCS, legge lo store dei certificati Windows.
    Allo stato "qualcosa" sono riuscito a fare (mi dice il numero di serie), ovviamente c'è un messaggio di errore Windows chiarissimo
     WindowsErrorCode: 0xc0000225
                WindowsError: Impossibile trovare il testo del messaggio per il numero di messaggio 0x%1 nel file di messaggio per %2.
                WindowsErrorCode: 0x13d
  • Re: Fatturazione elettronica B2B

    Io ho posto il quesito sull'assistenza ADE,

    temo che non mi risponderanno.... però, voglio vedere come ( e se ) rispondono...
  • Re: Fatturazione elettronica B2B

    Ho generato una fattura utilizzando il software ADE, successivamente ho visionato il file XML che il software mi ha generato.

    Noto che nella parte finale, non ci sono i tag relativi alla "condizione di pagamento",
    e sembra che nel software non ci sia la possibilità di inserire tali dati.

    Chiedo: Sono facoltativi tali dati ? Li avete sempre inseriti ?

    ...allego file prodotto...
    
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <p:FatturaElettronica xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" versione="FPR12">
        <FatturaElettronicaHeader>
            <DatiTrasmissione>
                <IdTrasmittente>
                    <IdPaese>IT</IdPaese>
                    <IdCodice>06825990630</IdCodice>
                </IdTrasmittente>
                <ProgressivoInvio>00001</ProgressivoInvio>
                <FormatoTrasmissione>FPR12</FormatoTrasmissione>
                <CodiceDestinatario>ABCDEFG</CodiceDestinatario>
                <PECDestinatario>CLIENTESPA@PEC.IT</PECDestinatario>
            </DatiTrasmissione>
            <CedentePrestatore>
                <DatiAnagrafici>
                    <IdFiscaleIVA>
                        <IdPaese>IT</IdPaese>
                        <IdCodice>06825990631</IdCodice>
                    </IdFiscaleIVA>
                    <CodiceFiscale>06825990631</CodiceFiscale>
                    <Anagrafica>
                        <Denominazione>DITTA S.R.L.</Denominazione>
                    </Anagrafica>
                    <RegimeFiscale>RF01</RegimeFiscale>
                </DatiAnagrafici>
                <Sede>
                    <Indirizzo>VIA POSILLIPO</Indirizzo>
                    <NumeroCivico>1</NumeroCivico>
                    <CAP>80126</CAP>
                    <Comune>NAPOLI</Comune>
                    <Provincia>NA</Provincia>
                    <Nazione>IT</Nazione>
                </Sede>
                <IscrizioneREA>
                    <Ufficio>NA</Ufficio>
                    <NumeroREA>NUMERO-REA</NumeroREA>
                    <CapitaleSociale>100000.00</CapitaleSociale>
                    <SocioUnico>SU</SocioUnico>
                    <StatoLiquidazione>LN</StatoLiquidazione>
                </IscrizioneREA>
                <Contatti>
                    <Telefono>0815510000</Telefono>
                    <Email>MAILDITTA@TIN.IT</Email>
                </Contatti>
            </CedentePrestatore>
            <CessionarioCommittente>
                <DatiAnagrafici>
                    <IdFiscaleIVA>
                        <IdPaese>IT</IdPaese>
                        <IdCodice>00282900650</IdCodice>
                    </IdFiscaleIVA>
                    <CodiceFiscale>00282900650</CodiceFiscale>
                    <Anagrafica>
                        <Denominazione>CLIENTE S.P.A.</Denominazione>
                    </Anagrafica>
                </DatiAnagrafici>
                <Sede>
                    <Indirizzo>VIA NOCERA</Indirizzo>
                    <NumeroCivico>13</NumeroCivico>
                    <CAP>84018</CAP>
                    <Comune>SCAFATI</Comune>
                    <Provincia>SA</Provincia>
                    <Nazione>IT</Nazione>
                </Sede>
            </CessionarioCommittente>
        </FatturaElettronicaHeader>
        <FatturaElettronicaBody>
            <DatiGenerali>
                <DatiGeneraliDocumento>
                    <TipoDocumento>TD01</TipoDocumento>
                    <Divisa>EUR</Divisa>
                    <Data>2018-07-29</Data>
                    <Numero>00001</Numero>
                    <ImportoTotaleDocumento>211.64</ImportoTotaleDocumento>
                </DatiGeneraliDocumento>
            </DatiGenerali>
            <DatiBeniServizi>
                <DettaglioLinee>
                    <NumeroLinea>1</NumeroLinea>
                    <Descrizione>PRIMA DESCRIZIONE ARTICOLO - SECONDA DESCRIZIONE ARTICOLO - TERZA DESCRIZIONE ARTICOLO - QUARTA DESCRIZIONE ARTICOLO</Descrizione>
                    <Quantita>123.45</Quantita>
                    <UnitaMisura>N.</UnitaMisura>
                    <PrezzoUnitario>1.98765</PrezzoUnitario>
                    <ScontoMaggiorazione>
                        <Tipo>SC</Tipo>
                        <Percentuale>10.00</Percentuale>
                    </ScontoMaggiorazione>
                    <ScontoMaggiorazione>
                        <Tipo>SC</Tipo>
                        <Percentuale>5.00</Percentuale>
                    </ScontoMaggiorazione>
                    <ScontoMaggiorazione>
                        <Tipo>SC</Tipo>
                        <Percentuale>3.00</Percentuale>
                    </ScontoMaggiorazione>
                    <PrezzoTotale>203.50208177</PrezzoTotale>
                    <AliquotaIVA>4.00</AliquotaIVA>
                </DettaglioLinee>
                <DatiRiepilogo>
                    <AliquotaIVA>4.00</AliquotaIVA>
                    <ImponibileImporto>203.50</ImponibileImporto>
                    <Imposta>8.14</Imposta>
                </DatiRiepilogo>
            </DatiBeniServizi>
        </FatturaElettronicaBody>
    </p:FatturaElettronica>
    
Devi accedere o registrarti per scrivere nel forum
1159 risposte