我有一个系统可以保存非常敏感的数据。对可以出口的东西有严格的限制。
目前,具有管理员角色的人需要登录才能进行导出。我们需要对此进行更改,以便有人可以创建“导出授权”文件,该文件在输入系统时将允许导出。
我在想一个类似......的事情。
{"User":"Bob","Definition":{/*Some Criteria*/}}
[Signature for the Json using admin's key]
服务器将具有Admin的公钥,并将使用它和签名来确认Json未经修改。 NB:我更喜欢Json是纯文本而不是加密,因为它使请求更容易一目了然。
这在理论上很棒,但我在实施方面遇到了一些问题。从它的外观来看,BouncyCastle是我需要的加密库(这必须同时适用于.Net和Java组件,因此学习单个库似乎是一个好主意)。
我正在努力选择正确的算法,并研究如何正确使用BC。它似乎提供了很多构建块,但没有太多关于如何将它们组合在一起的信息。
那么......签署任意字符串并验证签名所需的步骤/组件是什么?