问题标签 [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.
java - 如何在 ssl 的 Java 应用程序服务器中禁用弱密码套装
我有一个自定义的 Java 应用程序服务器正在运行。我看到服务器支持一些弱密码套装,例如一些 112 位密码。我想禁用这些。我在哪里可以这样做。我也想启用 TLSv1.2。以下是初始化套接字的代码。
java - java.security.UnrecoverableKeyException:获取私钥信息失败
我有以下几行可以从 Android 上的密钥库中获取私钥
一切正常,除了当操作系统从 Android 5.1.1 升级到 Android 6.0.1 时,第 3 行将在第java.security.UnrecoverableKeyException: Failed to obtain information about private key
一次执行时抛出。但之后它会再次正常工作。现在我的解决方法是执行该行 2 次。同时,我也想知道是否有更好的方法来避免异常。
更新
异常跟踪
java - 如何在 Java 8 中禁用 TLSv1.2
任何人都知道如何在 JRE 8 中禁用 TLSv1.2 和 1.1,并且只允许使用 TLSv1。我已经尝试过 -Djdk.tls.client.protocols="TLSv1" 参数但没有运气。当我查看 SSL 调试器输出时,我可以看到仍在使用 V1.2
java - Java 8 更新后的 RC4 相关问题
在当时启用了 Java RC4 的早期版本中,我的应用程序运行良好,但在 Java 8 U 77 更新后,它不再使用以下密码,这些密码需要与我的一台旧服务器一起使用。
我修改了 java.security 和禁用的算法部分如下所示,
我仍然无法让上述套件正常工作。启用它们的任何想法,我也尝试在运行应用程序时添加它们,
仍然没有运气,在此先感谢。
java - 作为接收者如何从签名中获取消息
如果我使用服务器-客户端方法,客户端使用数据(消息)更新签名。并发送到服务器。服务器如何从这个签名中获取消息?
android - Android 中的 Java 安全文件位置
在我的电脑中,我可以在以下路径下找到 java 安全文件:
android 在 Android 4.1 及更高版本中将此文件存储在哪里?&它只能由根设备访问吗?
==== 更新 ====
一般来说,我需要知道 android 在哪里维护安全提供者列表(例如 AndroidOpenSSL、HarmonyJSSE 等)。我想应该有一个系统文件来维护这些提供者的列表(比如jre/lib/security/java.security
我电脑中的文件)。
该文件位于何处?我知道我可以使用Security类来获取列表,但我需要知道文件在 Android 中的位置。
(我想知道该文件在 android 中的位置的原因是我想更改提供程序的顺序。)
java - 实现 DH 协议时的 java.security.InvalidKeyException
在我的 android 应用程序中,我想实现 Diffie-Hellman 协议,以便在两个用户之间生成一个公共秘密。
我所做的如下:当第一个用户向第二个用户发送友谊请求时,应用程序会生成一个密钥对,将公共密钥对存储在远程数据库中,将私有密钥对存储在本地数据库中。
这是第一部分的代码:
generateKeys 方法如下:
当第二个用户接受请求时,会生成另一个密钥对,再次将私钥存储在本地数据库中,将公钥存储在远程数据库中。然后它从远程数据库中获取第一个用户的公钥,将其转换回 PublicKey 并生成公共密钥。
这是第二部分的代码:
stringToPublicKey 如下:
和generataCommonSecret:
此外,在存储密钥时,我将它们转换为字符串,如下所示:
在 generateCommonSecret 中执行以下行时
我得到了这个例外
有人可以帮我找到问题吗?奇怪的是,如果我尝试在单个 java 类中执行此操作,而不存储和检索密钥,它可以正常工作。
java - Java 安全性和 javafx.fxml.FXMLLoader.loadImpl(Unknown Source) javafx
问题是我无法在 WebBrowser 中启动我的JavaFX FXML 应用程序。我使用 NetBeans 8.1 作为 IDE、Windows 8 64 位和 jdk1.8.0_65。所以,如果我创建一个新的JavaFX 应用程序- 它可以工作。它用作桌面,当我在 WebBrowser 中启动它时它就可以工作。但是,如果我创建新的JavaFX FXML 应用程序,它将无法工作。它完美地用作桌面应用程序,但是当我尝试启动*.jnlp或在 WebBrowser 中时,我得到了这个:
我做了什么:
- 新项目 > JavaFX FXML 应用程序
- 运行以检查它是否有效。因此,在该位置上单击“单击我”按钮,单击并标记“Hello World!” 出现了。
- 然后转到项目属性>运行>在浏览器中运行
- 启动 Java Config 并将file:///C:/...添加到异常列表
- 我什至使用签名我的JavaFX FXML 应用程序
keytool -genkey -keystore .keystore -alias «Terrasoft» -validity 99999
jarsigner.exe -keystore .keystore myJavaFXFXMLApplication.jar «Terrasoft»
当然,我之前已经创建了.keystore等等。所以我在cmd中收到了类似 jar 签名的消息。
我
Parent root =FXMLLoader.load(getClass().getResource("FXMLMain.fxml"));
以不同的方式改变了但没有成功。
问题:
- 如何强制它工作?
- 为什么一个人需要所有这些困难的认证?
java - 在我的情况下生成私钥和公钥
我需要创建一个函数,每次调用它时总是可以生成相同的私钥/公钥。
这是我创建的功能代码:
如何使我的函数始终生成相同的密钥对?
java - IllegalArgumentException:javax.security.jacc.PolicyContext.getContext 处的未知处理程序键
我正在使用 Tomcat 6.0.44。我得到了例外:
javax.security.auth.login.LoginException:java.lang.IllegalArgumentException:javax.security.jacc.PolicyContext.getContext(PolicyContext.java:311)处的未知处理程序密钥
在下面的代码行:
我提到依赖的POM文件是: