gpt4 book ai didi

c# - 是否可以在不使用 KeyContainerName 的情况下签署 xml 文档?

转载 作者:太空宇宙 更新时间:2023-11-03 17:45:48 25 4
gpt4 key购买 nike

我想创建 2 个非常简单的 dll:

1) 将签署一个 xml 文档2) 将检查 xml 文档是否未被修改。

我尝试使用 RSACryptoServiceProvider 和 key 容器。但是当我移动到另一台机器时,这不起作用,因为 key 存储在机器中。

我想将 key 存储在我正在创建的 dll 中(我知道这不被推荐),但我不知道如何编写一些代码来简单地签署一个 xml 文档,然后验证它没有被更改。

那么我需要使用对称 key 来做我想做的事吗?

皮特

最佳答案

您已经提到了将私钥存储在dll中的问题,所以我不再重复。

这样做:

在你自己的机器上运行这段代码:

var key = new RSACryptoServiceProvider(2048);
string publicKey = key.ToXmlString(false);
string privateKey = key.ToXmlString(true);
Console.WriteLine(publicKey);
Console.WriteLine(privateKey);

这输出两(长)行。将这些复制到您的代码中:

签名:

var privateKey = new RSACryptoServiceProvider();
privateKey.FromXmlString(/* insert the private-key XML string here */ );
privateKey.SignData(/*...*/);

验证:

var publicKey = new RSACryptoServiceProvider();
publicKey.FromXmlString(/* insert the public-key XML string here */ );
publicKey.VerifyData(/*...*/);

关于c# - 是否可以在不使用 KeyContainerName 的情况下签署 xml 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4715463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com