Аутентификация SSL-клиента Zookeeper с помощью ./zkCli.sh: цепочка сертификатов пустаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Аутентификация SSL-клиента Zookeeper с помощью ./zkCli.sh: цепочка сертификатов пуста

Сообщение Anonymous »

Почему я работаю над собственным узлом Zookeeper версии 3.8.4 с Java 11
Вот мой `zoo.cfg`:

Код: Выделить всё

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
#admin.enableServer=false
metricsProvider.className=org.apache.zookeeper.metrics.impl.NullMetricsProvider
# Standard ZooKeeper ports
secureClientPort=2281
ssl.protocol=TLSv1.2

ssl.clientAuth=need
И я запускаю его следующей командой:

Код: Выделить всё

sudo JVMFLAGS='
-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
-Dzookeeper.ssl.keyStore.location=/etc/zookeeper/ssl/zookeeper.keystore.jks
-Dzookeeper.ssl.keyStore.password=password
-Dzookeeper.ssl.trustStore.location=/etc/zookeeper/ssl/zookeeper.truststore.jks
-Dzookeeper.ssl.trustStore.password=password' /opt/zookeeper/apache-zookeeper-3.8.4-bin/bin/zkServer.sh start
Теперь, когда я пытаюсь протестировать SSL-соединение с аутентификацией клиента, я использую следующее

Код: Выделить всё

sudo CLIENT_JVMFLAGS='
-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
-Dzookeeper.client.secure=true
-Dzookeeper.ssl.trustStore.location=/etc/zookeeper/ssl/zookeeper.truststore.jks
-Dzookeeper.ssl.trustStore.password=password
-Dzookeeper.ssl.keyStore.location=/etc/zookeeper/ssl/zookeeper.keystore.jks
-Dzookeeper.ssl.keyStore.password=password
-Dzookeeper.ssl.clientAuth=need
-Dzookeeper.ssl.endpoint.identification.algorithm=' ./zkCli.sh -server hostname:2281
Затем я вижу в журналах сервера Zookeepeer знаменитое исключение SSLHandShakeException: пустая цепочка сертификатов сервера
Я хорошо это понимаю, но при запуске моего zkCli с -Djavax.net.debug=all я вижу в журналах следующее:

Код: Выделить всё

javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.330 CET|X509KeyManagerImpl.java:772|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: key algorithm does not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.330 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.330 CET|X509Authentication.java:246|No X.509 cert selected for EC
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.330 CET|CertificateRequest.java:809|Unavailable authentication scheme: ecdsa_secp256r1_sha256
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.330 CET|X509KeyManagerImpl.java:772|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: key algorithm does not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.330 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509Authentication.java:246|No X.509 cert selected for EC
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|CertificateRequest.java:809|Unavailable authentication scheme: ecdsa_secp384r1_sha384
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509KeyManagerImpl.java:772|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: key algorithm does not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509Authentication.java:246|No X.509 cert selected for EC
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|CertificateRequest.java:809|Unavailable authentication scheme: ecdsa_secp521r1_sha512
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509KeyManagerImpl.java:789|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: issuers do not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.331 CET|X509Authentication.java:246|No X.509 cert selected for RSA
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.333 CET|CertificateRequest.java:809|Unavailable authentication scheme: rsa_pss_rsae_sha256
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.334 CET|X509KeyManagerImpl.java:789|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: issuers do not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.334 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.334 CET|X509Authentication.java:246|No X.509 cert selected for RSA
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|CertificateRequest.java:809|Unavailable authentication scheme:  rsa_pss_rsae_sha384
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|X509KeyManagerImpl.java:789|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: issuers do not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|X509Authentication.java:246|No X.509 cert selected for RSA
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|CertificateRequest.java:809|Unavailable authentication scheme: rsa_pss_rsae_sha512
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|CertificateRequest.java:796|Unsupported authentication scheme: rsa_pss_pss_sha256
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|CertificateRequest.java:753|Unsupported authentication scheme: rsa_pss_pss_sha384
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.335 CET|CertificateRequest.java:753|Unsupported authentication scheme: rsa_pss_pss_sha512
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|X509KeyManagerImpl.java:789|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: issuers do not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|X509Authentication.java:246|No X.509 cert selected for RSA
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|CertificateRequest.java:809|Unavailable authentication scheme: rsa_pkcs1_sha256
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|X509KeyManagerImpl.java:789|Ignore alias 83fec6f7-564d-4126-93b1-43e3fea2e983: issuers do not match
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|X509KeyManagerImpl.java:405|KeyMgr: no matching key found
javax.net.ssl|ALL|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|X509Authentication.java:246|No X.509 cert selected for RSA
javax.net.ssl|WARNING|0E|nioEventLoopGroup-2-1|2024-11-15 10:56:35.336 CET|CertificateRequest.java:809|Unavailable authentication scheme: rsa_pkcs1_sha384
javax.net.ssl|DEBUG|0E|nioEventLoopGroup-2-1|2024
Я не понимаю, почему он не находит здесь совместимую запись из хранилища ключей:/
Вот как я создаю свое хранилище ключей и хранилище доверенных сертификатов
р>

Код: Выделить всё

sudo keytool -importkeystore \
-srckeystore "$PFX_FILE_PATH" \
-srcstoretype pkcs12 \
-destkeystore zookeeper.keystore.jks \
-deststoretype JKS

sudo keytool -exportcert \
-alias 83fec6f7-564d-4126-93b1-43e3fea2e983 \
-file my-ca.cer \
-keystore "$PFX_FILE_PATH" \
-storetype PKCS12

sudo keytool -import \
-alias 83fec6f7-564d-4126-93b1-43e3fea2e983 \
-file my-ca.cer \
-keystore zookeeper.truststore.jks
Я ожидал успешного двустороннего взаимного SSL

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-is-empty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»