gpt4 book ai didi

java - 如何确保该文件是我创建的?

转载 作者:行者123 更新时间:2023-12-02 02:54:53 25 4
gpt4 key购买 nike

有时我的 Java 程序需要将 .dll 或 .so 文件从客户端计算机发送到远程计算机。是否有可能确保这个 .dll (.so) 文件确实是我创建的,而不是某个黑客创建的?首先,我认为数字签名(java.security包)将是我的第一选择,但我无法在远程计算机中验证签名,因为Java在那里可能不可用。还有其他选择吗?

最佳答案

您想要实现的目标是 non repudiation 。即:

  • A service that provides proof of the integrity (nobody has modified your file) and origin of data (you are the genuine creator of the file).
  • An authentication that can be asserted to be genuine with high assurance.

这与 Java 或 C# 或语言本身无关,它是一个不依赖于您所使用的编程语言的概念。每种语言都有自己的类、库、机制......用于处理这些问题,其中一些比其他语言更好或更容易。

具体是Java,你可以开始看一下here 。您需要的步骤:

  • 生成一对 key (仅执行一次)。
  • 签署您在客户端创建的每个文档(确保没有人可以更改它、没有人可以取得它的所有权、没有人可以拒绝文件的所有权)。
  • 发送文档及其签名。
  • 在服务器端,根据所提供的文档验证签名的有效性。

如果您只想检查文件是否未被修改,您可以使用简单的 digest mecanism无需签名,只需创建哈希(不需要创建证书,验证签名...)并稍后验证即可工作,但请注意,仅使用哈希,您无法检查谁是文件的作者,只能该文件自创建哈希以来尚未被修改。

关于java - 如何确保该文件是我创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43271068/

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