Avatar billede amoelle Nybegynder
07. august 2002 - 14:01 Der er 3 kommentarer og
2 løsninger

Plug-in til XML signering

Er der nogen der kender en plug-in, der kan bruges til XML-signering.
Den skal sættes på en jsp-side, hvor man signerer et xml dokument.
Det må ikke være en activeX komponent, da siden skal kunne ses både i IE og i Netscape.
Avatar billede a1a1 Novice
07. august 2002 - 14:24 #1
dotnet?

Signing XML Files
The .NET Framework provides the System.Security.Cryptography.XML namespace, which allows you sign XML. Signing XML is important when you want to verify that the XML originates from a certain source. For example, if you are using a stock quote service that uses XML, you can verify the source of the XML if it is signed.

The classes in this namespace follow the World Wide Web Consortium recommendation, "XML-Signature Syntax and Processing", described at www.w3.org.


;)
Avatar billede a1a1 Novice
07. august 2002 - 14:28 #2
c# kode (kan evt. konverteres til java, hvis java også har noget kryptering (og det er der vel))

Example
The following example demonstrates how to generate an enveloping XML signature.

using System;
using System.IO;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;
using System.Xml;


public class XMLdsigsample1 {

static void Main(String[] args)
{
    // Create example data to sign.
    XmlDocument document = new XmlDocument();
    XmlNode  node = document.CreateNode(XmlNodeType.Element, "", "MyElement", "samples");
    node.InnerText = "This is some text";
    document.AppendChild(node);
    Console.Error.WriteLine("Data to sign:\n" + document.OuterXml + "\n");

    // Create the SignedXml message.
    SignedXml signedXml = new SignedXml();
    RSA key = RSA.Create();
    signedXml.SigningKey = key;

    // Create a data object to hold the data to sign.
    DataObject dataObject = new DataObject();
    dataObject.Data = document.ChildNodes;
    dataObject.Id = "MyObjectId";

    // Add the data object to the signature.
    signedXml.AddObject(dataObject);

    // Create a reference to be able to package everything into the
    // message.
    Reference reference = new Reference();
    reference.Uri = "#MyObjectId";

    // Add it to the message.
    signedXml.AddReference(reference);

    // Add a KeyInfo.
    KeyInfo keyInfo = new KeyInfo();
    keyInfo.AddClause(new RSAKeyValue(key));
    signedXml.KeyInfo = keyInfo;

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

    // Get the XML representation of the signature.
    XmlElement xmlSignature = signedXml.GetXml();
    Console.WriteLine(xmlSignature.OuterXml);
}

}

The following example demonstrates how to check an XML signature.

using System;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;
using System.IO;
using System.Xml;

public class Verify {

    public static void Main(String[] args)
    {

        Console.WriteLine("Verifying " + args[0] + "...");

      // Create a SignedXml.
        SignedXml signedXml = new SignedXml();

        // Load the XML.
        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.PreserveWhitespace = true;
        xmlDocument.Load(new XmlTextReader(args[0]));

        XmlNodeList nodeList = xmlDocument.GetElementsByTagName("Signature");
        signedXml.LoadXml((XmlElement)nodeList[0]);

        if (signedXml.CheckSignature()) {
            Console.WriteLine("Signature check OK");
        } else {
            Console.WriteLine("Signature check FAILED");
        }

    }
}
Avatar billede a1a1 Novice
12. august 2002 - 01:01 #3
?
Avatar billede amoelle Nybegynder
30. august 2002 - 15:35 #4
Hej a1
Jeg har ikke haft tid til at oversætte din .net løsning til java, men jeg er enig i, at det må kunne lade sig gøre.

Jeg har på anden vis fundet http://phaos.com/products/category/xml.html
Entrust TruePass (som jeg kender) er del af en større produktportefølge, og VeriSign havde en activeX control (og det måtte man ikke bruge til den ønskede løsning).
Avatar billede amoelle Nybegynder
30. august 2002 - 15:36 #5
Hej A1,
vi deler i porten.
Din udmærkede kode vil sikkert kunne hjælpe nogle andre.
mvh Anne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester