Hyperledger Fabric-sdk-java не может соединиться с заказчиком (не найдено альтернативного DNS-имени субъекта, соответствующего localhost) - PullRequest
0 голосов
/ 03 июня 2019

Я использую образец переноса баланса, чтобы раскрутить сеть фабрики.Образец сгенерировал крипто-материал.Я использую те же ссылки artifact folder и network-config.yaml в моей интеграции Fabric-SDK-JAVA.

Я могу регистрировать / регистрировать пользователей, запрашивать код цепочки и даже все транзакции успешно подтверждаются всеми равноправными участниками канала.

Но транзакция, отправленная заказчику для принятия, завершается неудачно сошибка:

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 (так как она включена по умолчанию в примере сети передачи баланса).

Я добавил записи хоста в свой файл хоста.

1 Ответ

2 голосов
/ 03 июня 2019

Даже если это локальный хост, вы должны использовать имя хоста, на которое распространяется сертификат (т.е. это одно из альтернативных имен субъекта).(В более сложных случаях вы можете использовать собственный javax.net.ssl.hostnameVerifier, но теперь он не нужен.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...