问题标签 [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.
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?
java - Badpadding 异常后 Java AES 加密失败
我正在使用以下代码来解密由 128 位 AES 加密的密文。
我的加密文本是简单的一行语句,我正在使用以下密钥和初始 verctor
除了以下情况外,一切正常。
1)使用密钥作为初始向量和初始向量和密钥对纯文本进行加密。解密失败,出现 BadPaddingException
2)以key为key,初始向量为初始向量进行加密。上面的代码毫无例外地解密了密文,但输出是垃圾。不是我加密的。
3)再次解密上面正确加密的密文(在 2 步中),现在它被解密为正确的纯文本。
我的问题是为什么解密无法在步骤 2 中解密为正确的密文?
cryptography - Java 字节数组到 ECCPrivateKey - InvalidKeySpecException:无法识别编码的密钥规范
当我尝试从字节数组制作 ECC 私钥时,出现下面提到的异常。我有公钥/私钥和来自 C 库 micro-ecc/uECC.h 的签名输出。C 使用 secp192r1 曲线。我正在尝试使用 Java 中 C 生成的密钥来验证数据。如何将字节数组转换为私钥/公钥?
我也尝试过使用
但它在上面抛出了相同的异常。
投掷
或者
bouncycastle - ECC 私钥比公钥长
我使用 secp192r1 曲线生成了 ECC 公钥和私钥。我得到 75 的公共和 125 的私有编码密钥数组长度。为什么私钥比公钥长?为什么私钥不比公钥长两倍?为什么私钥不是 192 位 = 24 字节,因为 secp192r1?
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
具体来说,当数据在此代码块内被加密时,就会发生这种情况:
有什么想法吗?
cryptography - 将 ECC PKCS#8 公钥和私钥转换为传统格式
我有使用 BouncyCastle 生成的公共和私有 ECC:
如何将它们转换为可以在https://github.com/kmackay/micro-ecc/blob/master/uECC.h中重复使用的传统格式?我需要 24 字节的私钥和 48 字节的公钥,而现在它是 125 和 75。
java - 保护 Java 应用程序 - 防止类被修补
我们正在尝试使用从我们应用程序的不同位置调用的自定义 LicenseManager 来保护 Java 应用程序。
LicenseManager 看起来像这样
当然,“破解”应用程序的一种简单方法是用这个替换 LicenseManger 并将其添加到类路径中
因此,为了防止 LicenseManager 被修补,我们将以下代码添加到调用 LicenseManager.verify() 的应用程序的所有部分:
这基本保证了LicenseManager的代码源位置和其余应用程序的代码源是一致的。
这有意义吗?有没有办法用这种方法仍然“破解” LicenseManager?
编辑:我们还使用 Java String ( https://jfxstore.com/stringer/ ) 进行字符串混淆和代码 IntegrityProtection。这使得反编译应用程序变得困难。
此外,对 LicenseManager.verify() 的调用遍布整个应用程序(数百个地方!),因此修改所有这些地方需要做很多工作。
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 算法相关更改的注释很少,但我无法清楚地理解它们。
异常日志:
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、
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 属性?以下异常还有其他可能性吗?