当前位置: 首页>>代码示例>>C#>>正文


C# Utils.Sign方法代码示例

本文整理汇总了C#中Utils.Sign方法的典型用法代码示例。如果您正苦于以下问题:C# Utils.Sign方法的具体用法?C# Utils.Sign怎么用?C# Utils.Sign使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Utils的用法示例。


在下文中一共展示了Utils.Sign方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

    static void Main(string[] args)
    {

        // vytvoření pomocné třídy pro práci s podpisy
        Utils utils = new Utils();

        // načtení dokumentu XML k podpisu
        Console.WriteLine("Načítám dokument priklad.isdoc...");
        XmlDocument doc = new XmlDocument();
        doc.PreserveWhitespace = true;               // bílé znaky musíme zachovat, jinak se špatně spočte hash        
        doc.Load("../../../data/priklad.isdoc");

        Console.WriteLine("Podepisuji dokument...");

        // načtení certifikátu z úložiště
        // certifikát je identifikován svým subjektem
        // pro reálné certifikáty vypadá např. "SERIALNUMBER=P111870, CN=Ing. Jiří Kosek, OU=1, O=Ing. Jiří Kosek [IČ 71612998], C=CZ"
        X509Certificate2 cert = utils.GetCertificate("CN=Jan Novák");        
        if (cert == null) Console.WriteLine("Nepodařilo se načíst certifikát.");

        // podepsání dokumentu
        XmlDocument signedDoc = utils.Sign(doc, cert);

        // uložení podepsaného dokumentu
        Console.WriteLine("Ukládám podepsaný dokument do priklad-podepsany.isdoc...");
        signedDoc.Save("../../../data/priklad-podepsany.isdoc");

        Console.WriteLine("Podepisuji dokument...");
        
        // načtení certifikátu z úložiště
        X509Certificate2 cert2 = utils.GetCertificate("CN=Jana Procházková");
        if (cert2 == null) Console.WriteLine("Nepodařilo se načíst certifikát.");

        // připojení druhého podpisu k dokumentu
        XmlDocument doubleSignedDoc = utils.Sign(signedDoc, cert2);

        Console.WriteLine("Ukládám podepsaný dokument do priklad-podepsany2.isdoc...");
        doubleSignedDoc.Save("../../../data/priklad-podepsany2.isdoc");

        // ověření podpisů
        Console.WriteLine("Ověřování podpisů v priklad-podepsany2.isdoc...");

        // načtení dokumentu ze souboru
        doc.Load("../../../data/priklad-podepsany2.isdoc");
        if (utils.Verify(doc))
            Console.WriteLine("Všechny podpisy jsou v pořádku.");
        else
            Console.WriteLine("Podpis(y) se nepodařilo ověřit.");

        // podepsání a přidání časového razítka
        doc.Load("../../../data/priklad-podepsany.isdoc");
        XmlDocument signedWithTSDoc = utils.SignWithTimestamp(doc, cert, "https://www.postsignum.cz/DEMOTSA/TSS_user/", "demoTSA", "demoTSA2010");

        // uložení podepsaného dokumentu
        Console.WriteLine("Ukládám podepsaný dokument do priklad-podepsany-casove-razitko.isdoc...");
        signedWithTSDoc.Save("../../../data/priklad-podepsany-casove-razitko.isdoc");

        System.Console.WriteLine("Stiskněte Enter pro ukončení...");
        System.Console.ReadLine();

    }
开发者ID:isdoc,项目名称:dsig-demo,代码行数:61,代码来源:Program.cs


注:本文中的Utils.Sign方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。