39 messaggi dal 17 novembre 2011
a questo penso che il mio problema sia la procedura di firma:

public bool SignXML(string xmlInput)
{
string _createDate = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ");
string _expireDate = DateTime.UtcNow.AddMinutes(5).ToString("yyyy-MM-ddTHH:mm:ssZ");

_createDate = _createDate.Replace('.', ':');
_expireDate = _expireDate.Replace('.', ':');

string certFile = WS_SOGEIConsole.Properties.Settings.Default.CerFile;
string xmlFile = xmlInput;
string xmlFileSigned = xmlInput;

X509Certificate2 cert = new X509Certificate2(certFile, "intellilab");

XmlDocument doc = new XmlDocument();
doc.PreserveWhitespace = true;
doc.Load(xmlFile);

doc.InnerXml = doc.InnerXml.Replace("2016-01-01T00:00:00Z", _createDate);
doc.InnerXml = doc.InnerXml.Replace("2016-01-01T00:05:00Z", _expireDate);

SignedXml signedXml = new SignedXml(doc);
signedXml.SigningKey = cert.PrivateKey;

//
// Add a signing reference, the uri is empty and so the whole document
// is signed.
Reference reference = new Reference();
reference.AddTransform(new XmlDsigEnvelopedSignatureTransform());
reference.AddTransform(new XmlDsigExcC14NTransform("wsu wsse S"));
reference.Uri = "#timestamp";
signedXml.AddReference(reference);

//
// Add the certificate as key info, because of this the certificate
// with the public key will be added in the signature part.
KeyInfo keyInfo = new KeyInfo();
keyInfo.AddClause(new KeyInfoX509Data(cert));
signedXml.KeyInfo = keyInfo;

// Generate the signature.
signedXml.ComputeSignature();

// ((Reference)signedXml.SignedInfo.References[0]).Uri = "#_1";

// Appends the sigbature at the end of the xml document.
XmlElement sgElem = signedXml.GetXml();
sgElem.SetAttribute("Id", "_2");
sgElem.SetAttribute("xmlns:ns10", "http://www.w3.org/2003/05/soap-envelope");
sgElem.SetAttribute("xmlns:ns11", "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512");

SetPrefix("ds", sgElem);

doc.DocumentElement.GetElementsByTagName("wsse:Security")[0].AppendChild(sgElem);

doc.Save(xmlFileSigned);

return true;

}

cosa non va qui secondo te ?
47 messaggi dal 27 ottobre 2014
Prova con il seguente codice:
        
        ' Crea l'oggetto KeyInfo 
        keyInfo = New KeyInfo()
        Dim skr As New SecurityTokenReference()
        skr.Reference = "cert"
        keyInfo.AddClause(skr)

        ' aggiunge keyinfo a signedXml
        signedXml.KeyInfo = keyInfo
39 messaggi dal 17 novembre 2011
Adesso ho questo errore :

java.lang.NullPointerException
39 messaggi dal 17 novembre 2011
Superati vari intoppi ora riesco a stabilire la comunicazione, ho bisogno però di chiarimenti su altre questioni.

- Il certificato necessario come deve essere creato ? nel senso occorre che ciascun cliente abbia un proprio certificato? Per le prove stiamo lavorando con un certificato creato da noi (siamo un software house) e censito dai servizi della regione.

- Attualmente ottengo il messaggio di errore "L'applicativo non e' autorizzato ad utilizzare questi servizi.". Parlando con un responsabile tecnico mi è stato chiesto se richiamo il servizio getRuoliStruttureOperatore, ma è davvero necessario richiamare questo servizio ? Al fine di ottenere cosa e sopratutto la parte header deve essere trattata nello stesso modo ?

Grazie a chi potrà rispondere.
47 messaggi dal 27 ottobre 2014
... anche io avevo capito che sarebbe bastato sostituire il certificato provvisorio con quello definitivo da distribuire ai ns. clienti, ma a quanto pare l'ufficio "Complicazione Cose Semplici" del SIST Puglia sa lavorare molto bene e quindi l'accesso ai servizi potrà avvenire tramite un apposito certificato personale per ciascuna struttura accreditata (costo min. = 80 Euro/Anno) o tramite la più economica CNS (circa 30 Euro per 3 anni)

Per il secondo problema mi sembra che ti hanno dato una risposta inadeguata ... secondo me c'è un'incongruenza con i dati specificati nei dati della classe datiApplicativo ...
39 messaggi dal 17 novembre 2011
Grazie come sempre Enzo, puoi aiutarmi a capire come hai fatto le prove. In pratica con quali dati e con quale certificato ? grazie.
47 messaggi dal 27 ottobre 2014
Ti dovrebbero aver fornito un elenco di numeri di ricetta per i test ed il certificato è quello autoprodotto.

Al momento sto cercando il modo per leggere il certificato della CNS per poter firmare il CDA di erogazione .... anzi, approfitto per chiedere se c'è qualcuno che può indicare qualche post/articolo dove viene risolta la problematica in .NET ...

Grazie.
7 messaggi dal 07 gennaio 2002
www.artcava.net
Buongiorno a tutti, so di essere un po' in ritardo... ;)

Devo anche io implementare la comunicazione tra mio applicativo e SAR, ma la modalità di creazione del client per il WebService mi è un po' oscura, considerando che devo utilizzare il file WSDL, e non un endpoint vero e proprio...

Qualcuno può suggerirmi da dove partire per non impazzire completantamente? Superato questo step, credo che i contenuti di questo post potranno essermi di grande aiuto.

Grazie!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.