【问题标题】:Java strong encryption - standalone library- source code onlyJava 强加密 - 独立库 - 仅源代码
【发布时间】:2013-03-14 15:37:27
【问题描述】:

我正在寻找支持强加密的基于 Java 的加密库。

我知道 Java Cryptography Extension,但要使用它,我想先访问源代码,修改那些,编译它们并使用我自己的版本他们(我并不真正关心开源许可证)

另外,我想知道是否有任何好的、强大的基于 Java 的加密库不依赖或使用来自 JDK 加密库的任何内容。在这里,我也有兴趣访问源文件以自己编译它们。

如您所见,我试图避免任何中间人攻击,包括修改后的 JVM 版本或修改过的第三方库。这只是一种痴迷。

谢谢!

【问题讨论】:

  • 请不要自己制作!
  • 我不确定Jasypt 是否使用 Java 的库,但请看一下。
  • @TomCammann 为什么不呢?我不会自己做,只是重新包装现有的,仅此而已:)
  • 汤姆是对的。加密代码非常脆弱。即使是很小的更改也可能使其容易受到侧通道攻击。你知道如何编写可以避免定时攻击的代码吗?某些版本的 AES 易受攻击,而其他版本则不然。你知道区别吗?
  • @rossum,不是真的,但我只是想改变包名,而不是实际的实现。

标签: java security encryption public-key-encryption crypt


【解决方案1】:

我不确定创建自己的库是个好主意,但如果你真的想这样做,你应该看看bouncycastle

【讨论】:

【解决方案2】:

你试过 Cryptix 吗?它是一个免费的、可用的源代码,与 JCA 库兼容,因此您可以将其安装为唯一的安全提供程序。

【讨论】:

  • 我与 JCA 兼容吗?这意味着它需要JCA?我试图不依赖任何人......在cryptix网站的底部:“......Cryptix Foundation ltd不再存在,它无法获得更新的证书。因此不会有新版本Cryptix JCE”它需要来自 SUN/Oracle 的证书?现在好像有点过时了..
  • AFAIK Cryptix 自 05 年以来未开发,但我不太确定您在说什么证书。在 '04 年,我需要强大的密码学,而标准 Java 没有它,所以我采用了 Cryptix 的源代码来实现我的目的。 “它需要 JCA”是什么意思? Cryptix 使用它自己的例程,因此您不必依赖 Oracle/Sun 编写的安全算法。 (AFAIK 你可以独立使用它)。但是,您可以将它作为唯一的安全提供程序安装在 JRE 中,因此 JCA 仅提供了一种访问内容的标准方式,但一切都由 Cryptix 自己完成。
  • 在底部:cryptix.org 你会看到我引用的内容。好的,你是说通过使用证书我可以切换 SUN 加密实现以使用这个,但是为此它需要证书,但如果我不想,那么我可以将它用作独立?有源代码的链接吗?哪一个?有几个下载选项。谢谢
  • 嗯,你让我感到困惑......很难说(对我来说)如果证书过期会发生什么。至于图书馆——这取决于你需要什么。我从 cryptix-openpgp-provider.jar 开始(它必须在 Cryptix OpenPGP 存档中),然后我遵循依赖项。我最终得到(另外):certpath-api-compat.jar、cryptix-jce-api.jar、cryptix-jce-provider.jar、cryptix-message-api.jar、cryptix-pki-api.jar。另一件事是,您需要将 local_policy.jar 和 US_export_policy.jar 更改为 USJP 版本并编辑 java.security 以定义 JCA 提供程序(jre/security)。
  • 你还需要把这些jar包放到jre/ext目录下。 (除非你想像你说的那样独立使用)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 2012-04-12
  • 2014-07-24
  • 2012-08-18
  • 2013-02-04
相关资源
最近更新 更多