14得票3回答
使用Java SSLSocket创建应用程序

我希望创建一个使用SSLSocket的应用程序:客户端向服务器发送一个String,服务器将把该String转换为大写并发送回客户端以显示。 SSL服务器 public class SSLServer { public static void main(String args[])...

9得票1回答
Java 服务器的 KeyStore 错误:找不到 BKS。

我在这一行遇到了一个错误: final KeyStore keyStore = KeyStore.getInstance("BKS"); 我收到的错误是: java.security.KeyStoreException: BKS not found at java.securi...

7得票1回答
建立安全连接时没有通用的密码套件

我可以帮您翻译成中文。以下是需要翻译的内容: 我正在尝试在两个Java项目之间建立安全连接,但是我遇到了SSLHandshakeException(没有共同的密码套件)。这是双方创建套接字的方法: 客户端: private SSLSocket getSocketConnection() ...

8得票2回答
Jetty日志中的SSL_NULL_WITH_NULL_NULL密码套件

我正在使用具有有效证书的Jetty HTTPS,但我不确定是否正确,因为服务器日志中的密码套件似乎是SSL_NULL_WITH_NULL_NULL。然而,客户端日志看起来很好。 长话短说:我附加了一个Java示例,期望使用Jetty-7.6.10和两个脚本创建密钥库和信任库。 JettyH...

25得票6回答
如何使用多个信任源初始化TrustManagerFactory?

我的应用程序有一个个人密钥库,其中包含用于在本地网络中使用的可信自签名证书——比如说mykeystore.jks。我希望能够连接到公共站点(比如google.com)以及使用本地配置的自签名证书来连接本地网络中的站点。 问题在于,当我连接https://google.com时,路径构建失败,...

58得票3回答
为什么Java有cacerts和jssecacerts两个文件?

我对和文件之间的区别感到非常困惑。 我知道默认情况下Java会查找文件,然后查找文件。 但是文件的作用是什么? 我的理解是,如果需要使用新的信任库,则应该创建的副本,并将所有新的受信任CA添加到该副本中。带有新CA的副本应该由 -Djavax.net.ssl.trustStore系统属性...

10得票2回答
SSL服务器套接字想要认证选项

关于 SSLServerSocket.setWantClientAuth: 如果将其设置为 true,则当客户端选择不发送证书时,协商过程会继续。 此外,我注意到如果客户端发送了证书但不在信任存储库中,协商也不会失败。 那么这个设置的用例是什么?

12得票1回答
如何从RSA Privatekey.pem文件中获取java.security.PrivateKey对象?

我有一个RSA私钥文件(OCkey.pem)。使用Java,我需要从这个文件中获取私钥。该密钥是使用以下openssl命令生成的。 注意:我不能更改下面的openssl命令中的任何内容。openssl> req -newkey rsa:1024 -sha1 -keyout OCkey.p...

13得票2回答
SSLContext初始化

我正在查看 JSSE 参考指南, 我需要获取一个 SSLContext 实例以创建 SSLEngine,以便与 Netty 结合使用来启用安全性。 要获取 SSLContext 实例,我使用 SSLContext.getInstance() 方法。我发现该方法被多次重载,因此可以选择要使用的...

34得票2回答
使用JSSE时,我应该如何进行主机名验证?

我正在Java中编写一个客户端(需要在桌面JRE和Android上工作),用于传输专有协议(特定于我的公司)的信息。我正在尝试找出在Java中编写TLS客户端的最佳方法,特别是确保它正确地执行主机名验证。(编辑:我的意思是检查主机名是否与X.509证书匹配,以避免中间人攻击。) JSSE是编...