- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
介绍
现在,为不同的内部微服务之间的通信设置 SSL 很常见。
为了设置它,需要各种步骤。
我的具体示例是我试图为 Kafka 集群设置安全通信,以便代理通过 SSL 进行通信,并且客户端在与 kafka 代理通信时也使用 SSL。
斗争
通常,我会按照一些教程步骤来获取本地工作示例。但是当它不起作用时,很难排除故障。您不知道在生成根证书或创建 keystore 和信任库时是否犯了错误,或者您的配置可能有问题。
好事是在尝试了解您在做什么之前阅读尽可能多的文档。而不仅仅是盲目地遵循一些教程步骤。
问题是一次学习一堆东西可能会让人不知所措。因为需要用到各种东西:openssl
, keytool
, Kafka
(或其他)
我试图搜索是否有任何现有工具或 keytool
可以直接用于给它 keystore 、信任库和主机名,如果您的这些文件是“兼容的”,结果将是“是/否”。
我知道有可能使用openssl s_client -connect my-host:my-port
但为了使用它,您首先需要使用您的 keystore 启动 Web 服务器。
问题
如何确保在您需要做的所有配置中,keystore.jks
和 trustore.jks
您生成的某些主机名可以正常工作吗?
因此,您可以将它们排除为有问题的,并专注于可能导致您的系统无法工作的其他事情。
更新
一些评论提出了其他方法:
openssl
从 s_server
开始并以 s_client
开头.jks
您需要使用的文件keytool
将它们转换为 .p12
Keystore explorer
或 keytool -v -list ...
检查内容server
具有 keystore.jks
)和( client
具有 truststore.jks
)最佳答案
我创建了简单的小程序来验证 keystore.jks 与 trustore.jks。
这是一个简单的 java 程序,它将打开 ssl 套接字,然后运行客户端以尝试连接到该套接字并交换一些数据。
这里是 gist我已经创建来分享它。
你可以简单地编译它:
javac KeyTest.java
java KeyTest \
-k path-to-keystore.jks -kp keystore-password \
-t path-to-truststore.jks -tp truststore-password \
-h localhost -p 443
-h
您需要指定创建 keystore 时使用的主机(通用名称 CN)(例如 CN=localhost)127.0.0.1 my.example.host.com
进入 /etc/hosts
将 DNS 解析定向到同一台机器 关于ssl - 如何验证导入到 keystore.jks 的自签名证书是否适用于 truststore.jks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60798084/
我正在尝试使用 imap 从 java 中的电子邮件服务器中提取消息,但我遇到了这个异常: DEBUG: JavaMail version 1.4.2 DEBUG: successfully load
有没有办法通过命令行或自定义信任管理器来创建由 cacerts 支持的自定义 trustStore? 应用程序使用自定义 trustStore: -Djavax.net.ssl.trustStore=
我们从客户端获得了 .p7b 格式的服务器证书链,我们需要使用 Java/Scala API 导出到我们的客户端信任库 他们的证书文件包含三个证书:root、intermediate、actual s
这个问题在这里已经有了答案: SSLHandshakeException: no cipher suites in common (3 个答案) 关闭 5 年前。 A server和相应的clien
你们中有人知道如何更改Security.framework/TrustStore.sqlite3的内容吗?看起来 iPhone 使用它来存储受信任的 CA 证书。我真的希望我的 iPod touch
我在虚拟机参数中使用了这个: -Djavax.net.ssl.trustStore=/opt/certs/trust.p12 -Djavax.net.ssl.trustStorePassword=We
如果存储在 Java 信任库中的证书过期,我会/可能会收到什么异常?我会肯定地收到访问认证资源的异常吗?什么情况下不会出现异常? 最佳答案 如果信任库中的证书过期,并且没有被具有相同主题和 key 的
我正在运行在 JVM 参数中配置的 Java 进程(微服务)和 trustStore。如果微服务需要连接需要在 trustStore 中导入证书的外部 URL。 Example: example.co
前提:我有一个证书,我想验证系统是否“信任”这个证书(由受信任的根 CA 通过 Java/操作系统签名) 我找到了一些不同的解决方案来实现这一点。 选项 1: 使用 SSL 类获得信任。 TrustM
我已经设置了一个自签名证书来测试 ssl java 连接 - 但是,它拒绝定位 java trustStore。除了将类编译到的文件夹(我使用 netbeans)和/java/jre6/bin 之外,
假设对于 SSL/TLS,我有 2 个 rootCA 的 CA1 和 CA2(均为自签名),每个 CA 均已签署并颁发了 5 个最终实体证书。我需要将每个 rootCA 及其相应的 5 个子公共(pu
下面是使用开发 keystore 调用第一个 Web 服务的示例代码并使用阶段 keystore 调用第二个 Web 服务。 public static void main(String args[]
我正在尝试配置 Tomcat,以便我的 Web 应用程序可以使用 LDAPS。在 UAT 服务器上一切正常,但由于某种原因,生产服务器无法初始化信任库。我已经打开调试(通过 -Djavax.net.d
我有一个客户替换了我们产品组件的 keystore 和信任库。更换后组件无法相互通信(2 路 SSL)。 在 SSL 日志上,我看到: http-nio-8100-exec-2, fatal erro
我有一个自定义 CAroot.crt(由我生成),我所有的客户证书都用这个 CAroot.crt 签名。我有一个 TrustStore.jks,我只放了客户端证书而不放 CAroot.crt,因为我希
我已经使用 keytool 添加了一个证书。现在我必须找到关联的信任库文件。我在哪里可以找到它? 最佳答案 没有“关联的信任库文件”这样的东西。您已将证书添加到的文件是信任库。 关于java - 我在
美好的一天, 我在Webphere中有一个java Web应用程序,这个Web应用程序需要调用IBM第三方来获取一些信息。 IBM 给我一个包含客户端证书的 .p12 文件,我通过 WAS Conso
我已经使用以下命令创建了一个自签名证书: keytool -genkeypair -keyalg RSA -alias test-api -keystore test-api.p12 -storepa
您好,我正在使用带有 cPanel 的服务器,我想在我的 TrustedStore 上安装 Cielo 的 SSL,Cielo 给了我们 3 个存档 .crt,但我不知道该怎么做。 如果有人帮助,我将
我有一个 Web 应用程序,它使用 3rd 方 jar 提供银行卡支付。通过 SSL 进行通信。 我还实现了在付款后发送确认电子邮件 (JavaMail) 的功能,代码如下: // property
我是一名优秀的程序员,十分优秀!