我一直在逐篇阅读有关 x509 证书创建、签名等的文章,但我还没有找到解决我的问题的方法——想知道是否有人能指出我正确的方向,因为我现在完全糊涂了. 这是我正在尝试做的事情:
对于客户端应用程序:
- 生成公钥/私钥对
- 将密钥作为 byte[] 获取并将它们存储在文件系统中。
- 生成 x509 证书
- 生成签名请求
对于服务器应用程序:
- 生成公钥/私钥对
- 将密钥作为 byte[] 获取并将它们存储在文件系统中。
- 创建自签名 X509 证书
- 签署客户证书
- 验证客户端证书是否由上面 #3 中的自签名证书签名。
我需要在 .Net 中以编程方式完成所有这些操作,并且不需要像 makecert.exe 或 openssl.exe 这样的外部 .exe - 我需要使用进程内库等。
我使用各种库(如 Bouncy Castle、.Net Crypto、openssl 等)进行了一些零碎的工作 - 但我总是遇到障碍,要么缺乏文档,要么无法以字节 [] 的形式获取密钥对,所以我可以坚持他们,等等。要么我让这比现在更难,要么那里严重缺乏文档 - 或两者兼而有之。
我认为之前必须有人这样做过,我非常感谢一些帮助 - 我愿意接受任何和所有建议 - 谢谢!
.. 并且 PKIBlackbox 不是一种选择——它的成本太高了 :(