问题标签 [sslcontext]

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 投票
0 回答
186 浏览

spring - 从 Oracle 迁移到 IBM 时出现 PKCS12 KeyStore 问题

我正在尝试将我的 spring 服务从 java Oracle 1.8 迁移到 IBM 1.8

从中得到错误ks.load: "java.io.IOException: getSecretKey failed: Password is not ASCII"

当我在加载和初始化时尝试 null 时:加载通过但kmf.init抛出 null 错误。(KeyStore: KeyStoreSpi: engineGetKey)

当我在负载时尝试 null 并且"".toCharArray() at kmf.init:负载通过了kmf.initthrows"Password is not ASCII". (KeyStore: KeyStoreSpi: engineGetKey)

附加信息:
默认安全提供程序:com.ibm.crypto.provider.IBMJCE
PKCS12 = PKCS12KeyStoreOracle

我还尝试使用 openssl 打开 .p12 文件,而“输入导入密码:”只是 ENTER(空通)

0 投票
0 回答
191 浏览

java - 如何在不修改现有 java 程序的情况下强制使用 SSLContext TLS 实例

我想强制 jdk 1.5 中的 java 现有程序使用 tls 代替 sslv2 或 sslv3。

jdk 1.5 支持 tls 1.0... 但一般默认使用 ssl v2 或 v3 clienthello 代替 tlsv1...

目前,许多 ssl 服务仅强制使用 tls(有些现在强制使用 tls 1.2……但这是另一个主题……)……

在 jdk 1.6 上,您可以添加一个 javaagent 来设置 SSLContext.setDefault 以强制 tlsV1 ...

但是在 jdk 1.5 上没有 SSLContext.setDefault 等效...

通常 java 程序使用 SSLContext.getInstance("SSL") 进行 ssl 连接...我不是编码 javaagent 方面的专家,但在搜索知道如何将 SSLContext.getInstance 与值 SSLv2、SSLv3、SSL 转换为 TLS 或 TLSv1。 ..

0 投票
2 回答
1846 浏览

java - SSLHandshakeException:收到致命警报:access_denied

使用 Spring Boot Rest Template 调用 GET 调用时出现 sslhandshake 异常并出现访问被拒绝错误。

我正在开发一个 java 客户端来从普罗米修斯服务器获取指标。使用 Tls1 ,1.1 和 1.2 创建具有基本身份验证和 sslContext 的 RestTemplate。

但是在调用 GET 调用时会出现以下异常。

类 org.springframework.web.client.ResourceAccessException

尝试使用 -Djavax.net.debug=ssl:handshake:verbose 进行调试,但无法解决问题。

这是调试日志

这是我的代码

我正在使用所有三个 TLS 协议创建一个 sslcontext。调试日志的输出让我感到困惑。

clienthello 是用 TLSV1.2 完成的,为什么会有 TLSv1 alert 的 READ 消息?然后奇怪的是 TLSv1.2 ALERT 的 RECV 消息?

如果服务器能够使用 TLSv1.2 发送警报,为什么它不接受握手请求?

所有密码套件都已启用,并且它应该同意任何一种密码。双方都有共同的密码。

相同的代码适用于其他基于 REST 的服务器。我通常不会在通话中发送证书,它应该可以工作。

注意:昨晚 IST 使用了相同的代码。奇怪的是有时有效,有时无效

我在这方面花了更多时间,但无法获得拒绝访问错误的足够答案。如果有人能给我一些关于这方面的见解,那就太好了。

0 投票
1 回答
395 浏览

spring - 让 Spring RestTemplate 使用内存中的 pem 证书(不在磁盘上)

我的 Java/Spring 程序使用 RestTemplate 连接到 Vault。我公司的运营团队计划使用环境变量 ($VAULT_CACERT) 向应用程序提供 pem CA 证书。

不允许 Java 程序更改磁盘上的任何文件(因此不能将 pem CA 证书添加到基于磁盘的信任库)。

是否可以配置 Spring RestTemplate 以便它使用内存中的 CA 证书(而不是来自基于磁盘的 jks 文件)?

我看到有一个 Java API (java.security.KeyStore) 和一个 bouncycastle API (org.bouncycastle.tls.test.KeyStores),我想知道是否可以使用其中任何一个。

0 投票
0 回答
463 浏览

java - 在 Spring Boot 中为 Rest & Soap & JDBC 使用不同的 SSL 上下文

现在使用 Spring Boot 和在单个微服务中运行的 hsm & mssql jdbc & rest & soap 服务。

MainApplication.java

应用程序.yml

java.security

问题:

  1. Postcontruct 方法初始化了密钥库和信任库,所有连接都使用我在 java.security 文件中配置的 LunaProvider,列为第 3 项(安全提供程序)。SOAP 调用使用的这个 ssl 连接。这很好用。

  2. 数据库 bean 也使用相同的 lunaprovider,我不想在那个 ssl 中工作。因为它会导致很多问题。我需要为数据库使用不同的 ssl 上下文,以便并行工作。我怎么做。

  3. 我有从这项服务传入和传出的休息电话。想知道是否可以为此使用另一个 ssl 上下文?不接触lunapprovider?

提前致谢。

0 投票
1 回答
939 浏览

java - 在 WAS 9 上使用 Apache HttpClient 和 IBM Jsse2 的 SSLHandshakeException

我有一个 web 应用程序,我在其中使用 HttpClient 向某些网页发送 get/Post 请求并验证响应。该应用程序在 Tomcat 8.5 上部署时运行良好,但现在由于公司指南,我需要使用 Websphere。因此,当我在 WAS 9 上部署此应用程序时,我的 http 请求开始因 SSL 异常而失败。

在调试这个问题时,我注意到我构建 http 客户端的地方,我的 webapp 的 Tomcat 版本提供了 JSSEProvider 的 Sun Jsse 实现,但是部署在 WAS 上的应用程序获得了 IBM Jsse2 提供程序。我想知道这是否是 SSL 异常的原因,有什么办法可以切换到 Sun Jsse?这里是设置 SSlContext 的地方——

这是控制台日志 -

会不会是其他问题?

更新:我检查了服务器日志,这就是它所说的 -

0 投票
1 回答
492 浏览

java - 我在 TLS 客户端身份验证中遇到错误“javax.net.ssl.SSLHandshakeException:证书验证格式错误”

我收到 javax.net.ssl.SSLHandshakeException: certificate verify format error while TLS handshake with server。这是 SSL 调试日志

我已经检查了服务器上的信任,并且还在客户端的 SSLContext 中添加了信任权限。我到处寻找解决方案,但找不到任何解决方案。

0 投票
3 回答
2441 浏览

java - javax.mail - 强制 IMAP 使用 TLS1.2+ - “收到致命警报:protocol_version”

我的应用程序在通过 IMAP 阅读邮件时遇到问题。

应用读取多个 imap 帐户。应用程序可以连接到除需要使用 TLS1.2 或 TLS1.3 的服务器之外的所有服务器。

我有这个代码:

并使用以下命令运行应用程序:

对于需要 TLS1.2+ 的 IMAP 服务器,我看到以下输出:

我正在使用 Java 11:

我做什么坏事?如何强制 TLS1.2+ 进行 imap 连接?

谢谢。

0 投票
1 回答
111 浏览

java - 错误“ svn:SSLv3 SSLContext 在 RAD 7.5 上不可用

我在尝试通过 RAD 7.5 连接到 SVN 存储库时收到错误消息“SVN: SSLv3 SSLContext not available SVN: OPTIONS request failed on ('SVN URL')。我正在使用 web sphere 7.0。我能够远程桌面到服务器,也可以直接使用URL登录。唯一的问题是通过RAD。任何人都可以帮忙。谢谢

0 投票
1 回答
768 浏览

java - Java中的SSLSocketFactory,LDAP网络连接

我的问题类似于:Java 中的 SSLSocketFactory

我需要设置一个自定义 SSLSocketFactory ...除了我没有https 连接(它是 LDAPS),所以不能使用:

...设置 SSLSocketFactory。我初始化了一个 SSLContext 对象,但是当我建立 LDAP 连接时,默认 SSLContext 会自动调用,因为我的自定义对象没有设置:

下面的第 3 行是否有非 HTTPS 等效方法:

  1. SSLContext sc = SSLContext.getInstance("SSL");

  2. sc.init(myKeyManagerFactory.getKeyManagers(), myTrustManagerArray, new java.security.SecureRandom());

  3. HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());