我的任务是在 C# 中为一个公司项目实现一个 PKI 库,但一直找不到一个好的实现。似乎有多个库,并且指向已删除的 MSDN 库的许多断开的链接。我见过使用 Crypt32.dll 的人,构建自己的库的人,使用 P/Invoke 访问系统证书存储的人,扩展内置库的人,根本不适用于 C# 的示例(例如 Java 示例),和商业图书馆。
我的问题是,对于简单的数据加密/解密,最推荐使用哪个实现/库?
作为我计划使用它的一些背景知识,我只需要使用私钥 (.pfx) 加密消息,并使用公钥 (.cer) 解密。项目的这个级别不需要消息签名和身份验证,尽管将来可能需要。我看到了对加密长度的引用,这让我感到不安。我们需要能够加密任何长度的消息(当然,在合理范围内!)。这是我需要担心的事情吗?如果是这样,有没有办法处理它?
如果可能的话,我宁愿不将公钥/私钥存储在 Windows 证书管理器中,但如果它使实现变得更加简单,那就这样吧。
我意识到 PKI 和加密是一个庞大而复杂的主题,但无论如何我希望有一个相对简单的库......(可以希望,对吗?)
谢谢!