问题标签 [java-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
364 浏览

cryptography - ECC public and private keys setters

I need to test ECC verification with given public and private keys. I found methods for random keys generation but there are no setters for specific public/private keys. How to set public/private keys as byte array?

0 投票
1 回答
198 浏览

java - Badpadding 异常后 Java AES 加密失败

我正在使用以下代码来解密由 128 位 AES 加密的密文。

我的加密文本是简单的一行语句,我正在使用以下密钥和初始 verctor

除了以下情况外,一切正常。

1)使用密钥作为初始向量和初始向量和密钥对纯文本进行加密。解密失败,出现 BadPaddingException

2)以key为key,初始向量为初始向量进行加密。上面的代码毫无例外地解密了密文,但输出是垃圾。不是我加密的。

3)再次解密上面正确加密的密文(在 2 步中),现在它被解密为正确的纯文本。

我的问题是为什么解密无法在步骤 2 中解密为正确的密文?

0 投票
1 回答
7697 浏览

cryptography - Java 字节数组到 ECCPrivateKey - InvalidKeySpecException:无法识别编码的密钥规范

当我尝试从字节数组制作 ECC 私钥时,出现下面提到的异常。我有公钥/私钥和来自 C 库 micro-ecc/uECC.h 的签名输出。C 使用 secp192r1 曲线。我正在尝试使用 Java 中 C 生成的密钥来验证数据。如何将字节数组转换为私钥/公钥?

我也尝试过使用

但它在上面抛出了相同的异常。

投掷

或者

0 投票
1 回答
1437 浏览

bouncycastle - ECC 私钥比公钥长

我使用 secp192r1 曲线生成了 ECC 公钥和私钥。我得到 75 的公共和 125 的私有编码密钥数组长度。为什么私钥比公钥长?为什么私钥不比公钥长两倍?为什么私钥不是 192 位 = 24 字节,因为 secp192r1?

0 投票
1 回答
452 浏览

java - Android 6.0 密钥库 ClassCast 异常

我正在使用Qlassified 库,并且在 android 6.0 和 6.0.1 上出现以下异常: java.lang.ClassCastException: android.security.keystore.AndroidKeyStoreECPublicKey cannot be cast to java.security.interfaces.RSAPublicKey

具体来说,当数据在此代码块内被加密时,就会发生这种情况:

有什么想法吗?

0 投票
1 回答
839 浏览

cryptography - 将 ECC PKCS#8 公钥和私钥转换为传统格式

我有使用 BouncyCastle 生成的公共和私有 ECC:

如何将它们转换为可以在https://github.com/kmackay/micro-ecc/blob/master/uECC.h中重复使用的传统格式?我需要 24 字节的私钥和 48 字节的公钥,而现在它是 125 和 75。

0 投票
0 回答
103 浏览

java - 保护 Java 应用程序 - 防止类被修补

我们正在尝试使用从我们应用程序的不同位置调用的自定义 LicenseManager 来保护 Java 应用程序。

LicenseManager 看起来像这样

当然,“破解”应用程序的一种简单方法是用这个替换 LicenseManger 并将其添加到类路径中

因此,为了防止 LicenseManager 被修补,我们将以下代码添加到调用 LicenseManager.verify() 的应用程序的所有部分:

这基本保证了LicenseManager的代码源位置和其余应用程序的代码源是一致的。

这有意义吗?有没有办法用这种方法仍然“破解” LicenseManager?

编辑:我们还使用 Java String ( https://jfxstore.com/stringer/ ) 进行字符串混淆和代码 IntegrityProtection。这使得反编译应用程序变得困难。

此外,对 LicenseManager.verify() 的调用遍布整个应用程序(数百个地方!),因此修改所有这些地方需要做很多工作。

0 投票
2 回答
916 浏览

java - SFTP 中出现 java.security.InvalidAlgorithmParameterException

嗨,我正在尝试一个简单的 sftp,但在建立时出现错误。连接,我正在使用https://www.sshtools.com/en/products/java-ssh-client上提供的maverick-legacy-client-all jar 此代码在 1.6.9 版中运行良好,但在我更新时失败它到 1.6.17。

我也尝试过这里的 jar changes 文档,关于我的异常DiffieHellmanGroupExchange 算法相关更改的注释很少,但我无法清楚地理解它们。

异常日志:

0 投票
3 回答
3842 浏览

java - JSch 最新版本

截至今天, JSch的最新稳定版本是哪个?官网显示jsch-0.1.53.jar在下载部分。

我需要在我们的产品中集成最新的稳定版本的 JSch 版本。

但是更改日志没有关于 jsch-0.1.53
http://www.jcraft.com/jsch/ChangeLog的信息

JSch的ChangeLog ================================================ =====================
最后修改时间:2015 年 6 月 5 日星期五 03:22:57 UTC

自 0.1.52 版本以来的更改:
- 错误修复:远程启动的重新生成密钥可能会使会话崩溃。
- 更改:Logjam:如果可用,请使用 ecdh-sha2-nistp*,
ecdh-sha2-nistp256、ecdh-sha2-nistp384、ecdh-sha2-nistp521、

0 投票
1 回答
3372 浏览

java - 证书不符合算法约束 - Java1.8_51

连接到 HTTPS 服务时出现异常。

我在多个论坛中进行了交叉检查,并了解到服务器中使用的算法与 Java1.8 的标准相比可能不太安全。

此外,通过在“Java\jdk1.8.0_51\jre\lib\security\java.security”文件中注释“jdk.certpath.disabledAlgorithms”属性,我们可以启用禁用的算法。但这并没有帮助,即使在将其注释掉后也会出现相同的错误。

其他分析点:

  • 更新了无限强度本地策略 jar 文件。
  • 能够使用来自同一台机器的独立程序连接到服务。
  • 即使启用了“jdk.certpath.disabledAlgorithms”属性,也能够从独立程序连接到服务。

我的代码使用自签名证书连接到 HTTPS 连接,该证书中的算法是否会覆盖默认的 java 属性?以下异常还有其他可能性吗?