【问题标题】:Hyperledger Fabric-sdk-java unable to connect with orderer(No subject alternative DNS name matching localhost found)Hyperledger Fabric-sdk-java 无法与 orderer 连接(找不到与 localhost 匹配的主题替代 DNS 名称)
【发布时间】:2019-06-03 03:44:48
【问题描述】:

我正在使用余额转移示例来启动一个结构网络。样本已生成加密材料。我在 Fabric-SDK-JAVA 集成中使用了 artifact foldernetwork-config.yaml 的相同引用。

我能够注册/注册用户,查询链码,甚至所有交易都被通道的所有对等方成功背书。

但是,事务提交到 orderer 以进行提交失败并出现错误:

Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching localhost found.
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:214) ~[na:1.8.0_181]
at sun.security.util.HostnameChecker.match(HostnameChecker.java:96) ~[na:1.8.0_181]
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455) ~[na:1.8.0_181]
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436) ~[na:1.8.0_181]
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:252) ~[na:1.8.0_181]
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136) ~[na:1.8.0_181]
at io.netty.handler.ssl.OpenSslTlsv13X509ExtendedTrustManager.checkServerTrusted(OpenSslTlsv13X509ExtendedTrustManager.java:239) ~[netty-handler-4.1.36.Final.jar:4.1.36.Final]
at io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback.verify(ReferenceCountedOpenSslClientContext.java:247) ~[netty-handler-4.1.36.Final.jar:4.1.36.Final]
at io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:697) ~[netty-handler-4.1.36.Final.jar:4.1.36.Final]
at io.netty.internal.tcnative.SSL.readFromSSL(Native Method) ~[netty-tcnative-boringssl-static-2.0.25.Final.jar:2.0.25.Final]
at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.readPlaintextData(ReferenceCountedOpenSslEngine.java:570) ~[netty-handler-4.1.36.Final.jar:4.1.36.Final]
at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1146) ~[netty-handler-4.1.36.Final.jar:4.1.36.Final]
... 25 common frames omitted

奇怪的是,同一个网络与 Node SDK 完美配合。我不确定我是否缺少使用 SSL 所需的一些配置(因为它在余额转移示例网络中默认启用)。

我在主机文件中添加了主机条目。

【问题讨论】:

  • 您应该找出您的证书适用的主机名,如果是“localhost”,请使用其中一个名称。
  • @LorinczyZsigmond 感谢您的建议。它就像一个魅力。请将此添加到答案中。

标签: spring-boot ssl netty hyperledger-fabric hyperledger-fabric-sdk-js


【解决方案1】:

即使是本地主机,您也必须使用证书涵盖的主机名(即,它是主题备用名称之一)。 (在更复杂的情况下,您可以使用自己的 javax.net.ssl.hostnameVerifier,但现在不需要了。)

【讨论】:

  • 同意。感谢您的输入。我不知道没有使用 localhost 和 hostName 来生成证书。
猜你喜欢
  • 1970-01-01
  • 2020-10-03
  • 1970-01-01
  • 2023-04-02
  • 2015-05-23
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
  • 2019-05-17
相关资源
最近更新 更多