一些编程语言(例如 Java 和 C#)在其标准库中包含加密包。其他如Python和Ruby则让你下载第三方模块来进行强加密。我认为这是出于法律原因;也许Sun Microsystems 拥有足够的律师,他们不怕被起诉,而Guido van Rossum 则感觉更容易受到伤害。

但法律实际上对此有何规定?此时,如果开源作者在其编程语言的标准库中包含强加密功能,他们还有什么好担心的吗?如果是这样,那他们为什么不呢?如果没有,那么 Sun 和 Microsoft 如何才能逃脱惩罚呢?

有帮助吗?

解决方案

有两个问题:加密软件的进口和加密软件的出口。

一些国家(中国、俄罗斯、伊朗、伊拉克、缅甸等)限制其公民使用密码技术。这是违法的 进口 向这些国家/地区提供加密软件。

要在 JDK 中启用无限加密强度,您必须下载新的策略文件。如果您所在的国家/地区不允许导入加密,则该软件许可证不允许您使用该软件。这称为“无限强度管辖权政策”,下面我包含其 README.txt 的一部分。

其他国家,例如美国,不想向邪恶轴心出口加密软件。因此,以下行为可能是非法的 出口 向这些国家/地区提供加密软件。

美国的出口限制已大幅放松,可能是因为认识到让加密技术落入敌人之手是徒劳的,也可能是为了鼓励使用已被国家安全局破坏的加密技术。但是,它们并没有完全消失。我认为恐怖分子不会获得该软件的许可。

JDK 5.0 的 JCE 已通过美国出口审查流程。JCE框架以及标准配备的Sunjce提供商都是可导出的。

JCE架构允许通过管辖权策略文件配置灵活的加密强度。由于某些国家的进口限制,使用JDK 5.0软件分发的管辖权策略文件对可用的加密强度具有内置的限制。此下载捆绑包中的管辖权策略文件(包括此读数文件的捆绑包)不包含对加密优势的限制。这适用于大多数国家。框架供应商可以创建下载捆绑包,其中包括适合政府授权限制的国家的密码限制的管辖权策略文件。这些国家 /地区的用户可以下载适当的捆绑包,JCE框架将执行指定的限制。

建议您咨询您的出口/进口控制律师或律师,以确定确切要求。

其他提示

在美国,重要的法律是 伊塔尔.

快速谷歌找到了一篇维基百科文章。

http://en.wikipedia.org/wiki/Export_of_cryptography

但到目前为止,“无需重新发明轮子”似乎是正确的。

伊阿纳尔,但是……

Java 和 C# 是闭源的,因此 EULA 中的条款或多或少会说“如果您在不应该使用的地方使用它,那不是我们的错”。他们还有律师团队来保护自己并执行该条款。

正如OP所说,大多数开源许可证没有类似的语言,即使有,他们也没有律师团队支持。

此外,Python 和 PERL 比 Java 和 C# 更古老,从美国出口加密软件是非法的时代开始。法律修改后不添加加密技术可能只是一个“一致性就是好的”决定。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top