using System;
using System.Web;
using net.catcert.psis;

public class ValidacioSignaturaXMLDsig
{

    public ValidacioSignaturaXMLDsig()
    {
    }

    static void Main()
    {

        // Utilitats
        Utils utils = new Utils();

        // Objectes temporals
        Object[] objects = null;
        ItemsChoiceType6[] types6 = null;

        // Inicialització del client
        digitalSignatureService proxy = new digitalSignatureService();

        // Indicar l’adreça del servidor
        proxy.Url = "http://psisbeta.catcert.net/psis/catcert-test/dss";


        // Composició del missatge

        // Dades de prova
        System.Xml.XmlElement signature = utils.XMLFile("C:/Documents and Settings/jriudavets/Mis documentos/Visual Studio 2005/Projects/TestPSIS/TestPSIS/bin/Release/xmldsig-signature.dat");

        // Creació de l'element amb la signatura XMLDsig
        SignatureObjectType signaturetype = new SignatureObjectType();
        signaturetype.Any = signature;

        // Creació de l'element amb els paràmetres opcionals a consultar
        OptionalInputs optInputs = new OptionalInputs();

        objects = new Object[1];
        objects[0] = new Object();

        types6 = new ItemsChoiceType6[1];
        types6[0] = ItemsChoiceType6.ReturnProcessingDetails;

        optInputs.Items = objects;
        optInputs.ItemsElementName = types6;

        // Creació del missatge DSS
        VerifyRequest requestDocument = new VerifyRequest();
        requestDocument.SignatureObject = signaturetype;
        requestDocument.OptionalInputs = optInputs;

        // Execució del servei per a verificar
        VerifyResponse responseDocument = proxy.verify(requestDocument);

        // Visualització de la petició
        Console.WriteLine(utils.MessageToString(requestDocument));



        // Visualització de la resposta
        Console.WriteLine(utils.MessageToString(responseDocument));

    }
}

