Я пытаюсь настроить SSL в своем клиенте Java (Thrift). (MTLS)
Мне нужен TrustStore, который содержит мой сертификат CA, чтобы клиент мог доверять сертификату сервера. < /p>
Сначала я пытаюсь использовать openssl Generate P12 -файл < /p>
openssl pkcs12 -export -in "ca.crt" -ейт " -rust -store.p12". -Nokeys < /p>
< /blockquote>
Но при подключении я получаю:
Javax.net.ssl.sslhandshakeexception: не нашел доверенный сертификат. -KeyStore TrustStore.p12 < /p>
< /blockquote>
Connect работает < /p>
код сервера: < /p>
auto ssl_factory = std::make_shared(
apache::thrift::transport::SSLProtocol::TLSv1_2);
ssl_factory->loadCertificate(cert.crt);
ssl_factory->loadPrivateKey(cert.key);
ssl_factory->loadTrustedCertificates(ca.crt);
ssl_factory->authenticate(true);
ssl_factory->server(true);
server_socket = new apache::thrift::transport::TSSLServerSocket(bind_address, port, ssl_factory);
< /code>
Клиентский код: < /p>
TSSLTransportFactory.TSSLTransportParameters sslParam =
new TSSLTransportFactory.TSSLTransportParameters("TLSv1.2", null, false);
sslParam.setKeyStore(cert.p12, password, "SunX509", "PKCS12");
sslParam.setTrustStore(truststore.p12, password, "SunX509", "PKCS12");
clientSocket = TSSLTransportFactory.getClientSocket(key.hostname, key.port, timeoutMs, sslParam);
< /code>
Почему существует разница между сгенерированным openssl PKCS12 (только с CA CERT, -NOKEYS) и сгенерированным ключом PKCS12? Проблема.
Я просто хочу понять разницу между TrustStore.p12 < /code>, сгенерированным с помощью keytool < /strong> и одной, сгенерированной с openssl < /strong>.
Применил ли какую -то специальную обработку, которую openssl не? < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... rk-in-java
Почему PKCS12 TrustStore, сгенерированный с OpenSSL (-nokeys), не работает на Java, но сгенерированный ключом? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение