Ciao @geremia e @paolo64, intanto grazie per le preziose informazioni. Anche io sto cercando di usare le API rest dell'agenzia delle entrate. Sto provando usando javascript. La libreria che si dovrebbe occupare di usare e' forge . Non sono sicuro che vada bene, cio' di cui sono sicuro e' che devo usare js.
Sto ancora cercando di ottenere il certificato del dispositivo e vorrei chiedervi delle delucidazioni:
<Dispositivo>
<Tipo>DM</Tipo>
</Dispositivo>
<TecnicoVerificatore>
<CodiceFiscale>xxxxxxxxxxxx</CodiceFiscale>
<PIvaSocieta>
<IdPaese>IT</IdPaese>
<IdCodice>xxxxxxx</IdCodice>
</PIvaSocieta>
</TecnicoVerificatore>
I contenuti di Tipo, CodiceFiscale, IdPaese, IdCodice devono essere encodati in base64? Solo CodiceFiscale e IdCodice?
<Csr>MII=</Csr>
Il certificato che devo inserire qui e' il certificato gestore? Il certificato va encodato anche questo in base64?
Il certificato che ho ottenuto dall'AE ha questa forma:
-----BEGIN CERTIFICATE-----
MIIF5zCCA8+
....
V6D76N
-----END CERTIFICATE-----
e' corretto? Devo essere in un altro formato? Quale?
Di seguito invece questa parte:
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="">
<ds:Transforms>
<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>nD=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>XR==</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MII=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
In particolare il DigestValue in sha256 e' il digest di questo file? Se si come faccio a fare l'hash e applicarlo senza alterare il file e a sua volta quindi la firma..
SignatureValue e X509DataCertificate cosa sono?
Oddio mi sento un brocco.
Grazie