问题标签 [jsse]

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 投票
3 回答
6769 浏览

java - 配置 Oracle JDK 以使用 IBM JCE/JSSE 提供程序来实现 FIPS 合规性

我想将 Oracle JDK 配置为使用 IBM 的符合 FIPS 的 JCE/JSSE 安全提供程序。我需要哪些 JAR 文件以及它们应该安装在哪里?文件中的提供者列表应该是什么java.security样的?

0 投票
3 回答
57644 浏览

java - 为什么 java 同时具有 cacerts 和 jssecacerts 文件?

我对cacertsjssecacerts文件之间的差异感到非常困惑。

我知道默认情况下java会先查找jssecacerts文件,然后再查找cacerts文件。

但是jssecacerts文件的意义何在?

我的理解是,如果需要使用新的信任库,cacerts则应制作一份副本,并将所有新的受信任 CA 添加到该副本中。然后系统属性cacerts应引用(带有新 CA)的副本。-Djavax.net.ssl.trustStore这样,在该机器上运行的其他 java 应用程序就不会意外地信任非默认 CA。

0 投票
1 回答
852 浏览

android - 将密码套件添加到 Android/Harmony Jsse

因此,Harmony JSSE 没有我需要连接到我的服务器的密码套件。它不支持 TLS_ECDHE_ECDSA_WITH_AES_256_SHA。是否可以(如果可以,如何)添加对该套件的支持?我有 Harmony JSSE 的源代码,我可以添加该密码套件的代码吗?有没有更简单的添加方法?

谢谢!

0 投票
2 回答
880 浏览

android - 如何在 Android 中引用 jsse 类?

我正在使用带有 Android SDK 插件的 Eclipse Helios 并为 Android 2.2 编写

我正在尝试编写一个应用程序来加密发送到 Web 服务的通信,但出现错误

它失败了

控制台出现错误...

java.lang.ClassNotFoundException:com.sun.net.ssl.internal.ssl.JSA_RSAPublicKey

这是 jsse.jar 文件中的一个类。如果我尝试在构建路径中包含 jsse.jar 文件,我会收到警告错误并被编译器抱怨。

“处理“javax/net/ServerSocketFactory.class”的问题:“

如何正确引用这个库或引用核心 android 的库?

仅供参考,这可以作为 Java 应用程序使用,但不能在 Android 模块中使用。

0 投票
4 回答
2421 浏览

java - 在 Java 中混淆 SSL 客户端 Hello v2 消息

我目前正在开发一个客户端/服务器 TLS 工具,该工具需要我们通过防火墙进行连接。由于我们无法控制的原因,我们只被授予传出 TCP 连接。

问题是我们客户端的防火墙阻止了客户端 Hello v2 消息(可能还有整个 SSL 握手)。

有没有办法以某种方式混淆流? 我正在考虑尝试使用压缩来使防火墙无法读取流。(也许使用 JDK7 的 GzipOutputStream 现在允许同步刷新)

我不是 SSL 专家,但在我看来应该可以翻译整个流,这应该使防火墙无法获取连接并阻止它。

据我所知,有几种(两种?)方法可以解决这个问题:

  • 覆盖默认实现
  • 实现 SSLServerSocketFactory

第一个选项对我来说不起作用,因为我找不到 com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl 的源代码,这是默认实现。我确实浏览了它的 openJDK 源代码,但即使在那里,源似乎也丢失了。

实现 SSLServerSocketFactory 超出了我的能力范围。正如我所说,我不是 SSL 专家。

请注意,该应用程序确实可以通过其他不那么激进的防火墙/防火墙规则正常工作。

0 投票
2 回答
938 浏览

java - 我选择哪种 SSL 实现?

我目前正在测试 SSL 的水域,并且是 SSL 的新手。作为我研究的一部分,我在 Java 领域遇到了 SSL 的两种不同实现。

首先说一下我的需求,很简单,我只需要一个流程来使用 https 将数据发布到 URL 中。

在这两种解决方案中,第一种是纯Java实现(仅使用核心Java类),另一种使用Apache HTTPClient来做http。

最初,作为我测试的一部分,我会得到臭名昭著的“无法找到请求目标的有效证书路径”异常,我认为当证书(从服务器接收)不是 Java 密钥存储的一部分时会发生这种情况。将证书添加到 Java 密钥库后,应用程序在这两种情况下都可以正常工作。然而,在我使用 HTTPClient 的过程中,我注意到了 SSLSocketFactory 的使用。

当我使用以下代码测试 HttpClient 时,

它工作得很好,所以我不确定 SSLSocketFactory 实现的用途是什么?当我们想要自动将证书添加到密钥库时,我最初认为这很有用。我的分析正确吗?

如果我的分析是正确的,哪个实现更好?

  • 手动安装证书会更好吗?这种方法有什么缺点?证书会过期吗?如果是这样,我是否必须再次安装新证书?
  • 或者我应该使用 SSLSocketFactory 自动化整个密钥存储添加功能吗?

您的意见将不胜感激。谢谢你。

0 投票
1 回答
119 浏览

java - 多个套接字 - 其中一个导致 SSLException - 如何在 jsse.jar 中调试跟踪 openSocket

我在一个企业应用程序中遇到了一个问题,该应用程序在特定场景中打开了多个套接字。我想从 jsse.jar 中 SSLSocketFactory 中的 openSocket 方法追溯——但底层 SSL 内部类没有可用的源代码。

(我知道还有另一个问题询问 jsse.jar 的来源,但没有给出确凿的答案——我不是在问这个问题。)

我的问题是 - 当您无权访问源代码时如何进行调试跟踪?(当然不是基于 JAD 的方法)。

0 投票
1 回答
21811 浏览

java - 如何从 RSA Privatekey.pem 文件中获取 java.security.PrivateKey 对象?

我有一个 RSA 私钥文件 (OCkey.pem)。使用 java 我必须从这个文件中获取私钥。此密钥是使用以下 openssl 命令生成的。注意:我无法更改下面这个 openssl 命令的任何内容。

证书如下所示。

///////////////////////////////////////// /////////
bash-3.00$ less OCkey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,EA1DBF8D142621BF

BYyZuqyqq9+L0UT8UxwkDHX7P7YxpKugTXE8NCLQWhdS3EksMsv4xNQsZSVrJxE3
Ft9veWuk+PlFVQG2utZlWxTYsUVIJg4KF7EgCbyPbN1cyjsi9FMfmlPXQyCJ72rd
...
...
cBlG80PT4t27h01gcCFRCBGHxiidh5LAATkApZMSfe6BBv4hYjkCmg==
-----END RSA PRIVATE KEY-----
///////////////////// //////////////////////////////////

以下是我尝试过的

但得到

“java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:无效的密钥格式”

请帮忙。

0 投票
1 回答
171 浏览

java - 如何通过java确保使用哪个私钥创建服务器证书

客户已使用下面的 openssl 命令创建了密钥和证书

所以他们给了我证书(OCcert.pem)和私钥(OCkey.pem)。

如何确保 OCcert.pem 是使用 Java 通过 OCkey.pem 创建的?
注意:我不能要求客户更改 ssl 命令。

请帮忙。

0 投票
2 回答
4881 浏览

jce - 在哪里下载 SunPKCS11Provider

我正在尝试在本文之后访问 smardCard,但我不知道在哪里可以找到带有 SunPKCS11Provider 的 jar。在 Oracle 文档中,他们说它是自 1.5 以来的标准。这是编译器抱怨找不到 SunPKCS11 的块: