首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SignedXml.CheckSignature在.NET 1.1中工作,但在.NET 3.5中失败

SignedXml.CheckSignature在.NET 1.1中工作,但在.NET 3.5中失败
EN

Stack Overflow用户
提问于 2009-03-03 11:52:03
回答 1查看 1.5K关注 0票数 1

我有以下SignedXml代码。这段代码在.NET 1.1中运行得很好,但是当我在.NET 3.5中运行它时,signedXml.CheckSignature()方法一直返回false。关于SignedXml 的类,在.Net 1.1和3.5之间做了一些改变吗?--我在这里很困惑!你们能帮帮我吗?

代码语言:javascript
复制
        SignedXml signedXml = new SignedXml();

        // Get public key
        Assembly assembly = Assembly.LoadFile("MyLib.Application.dll");
        Stream keyStream =
            assembly.GetManifestResourceStream("MyKey.xml");
        StreamReader keyReader = new StreamReader(keyStream, Encoding.UTF8);
        string publicKeyXml = keyReader.ReadToEnd();
        keyReader.Close();

        // Load and set key
        DSA dsaKeyPair = DSA.Create();
        dsaKeyPair.FromXmlString(publicKeyXml);
        KeyInfo keyInfo = new KeyInfo();
        keyInfo.AddClause(new DSAKeyValue(dsaKeyPair));
        signedXml.KeyInfo = keyInfo;


        // Load and set data
        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.PreserveWhitespace = true;
        xmlDocument.LoadXml(signedXmlData);

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

        string returnXml = null;
        if (signedXml.CheckSignature())
        {
            XmlElement dataElement = signedXml.GetIdElement(xmlDocument, "LicenseElement");
            returnXml = dataElement.InnerXml;
        }
EN

回答 1

Stack Overflow用户

发布于 2010-02-24 23:33:55

我发现signedXml.KeyInfo = keyInfo;是我的问题所在。当我使用键作为CheckSignature()的参数时,它起了作用--我能够在一个2.0应用程序中加载1.1SignedXML。

只需完全删除KeyInfo:

代码语言:javascript
复制
  string returnXml = null;
    if (signedXml.CheckSignature(dsaKeyPair))
    {
        XmlElement dataElement = signedXml.GetIdElement(xmlDocument, "LicenseElement");
        returnXml = dataElement.InnerXml;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/606091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档