Я пытаюсь создать клиент Web-службы, защищенный SSL, используя конфигурацию CXF Spring, и мне интересно, как можно сказать CXF использовать этот сертификат клиента в моем хранилище ключей.
Это должно существовать, потому что, если мое хранилище ключей содержит много сертификатов, как CXF должен делать, чтобы найти хороший?
Вот моя конфигурация:
<http-conf:conduit name="{urn:ihe:iti:xds-b:2007}DocumentRepositoryPortType.http-conduit">
<http-conf:client AutoRedirect="true" Connection="Keep-Alive"/>
<http-conf:tlsClientParameters secureSocketProtocol="SSL">
<sec:keyManagers keyPassword="storepass">
<sec:keyStore type="JKS" password="storepass" file="src/main/resources/keystore.jks" />
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore type="JKS" password="storepass" file="src/main/resources/truststore.jks" />
</sec:trustManagers>
<sec:cipherSuitesFilter>
<sec:include>.*_EXPORT_.*</sec:include>
<sec:include>.*_EXPORT1024_.*</sec:include>
<sec:include>.*_WITH_DES_.*</sec:include>
<sec:include>.*_WITH_NULL_.*</sec:include>
<sec:exclude>.*_DH_anon_.*</sec:exclude>
</sec:cipherSuitesFilter>
</http-conf:tlsClientParameters>
</http-conf:conduit>
В
<sec:keyManagers keyPassword="
<sec:keyStore type="JKS" password="storepass" file="src/main/resources/keystore.jks" />
</sec:keyManagers>
раздел, есть ли способ написать что-то вроде
alias="mycertificate"
Я искал на нескольких веб-сайтах, но пока не дал результатов.
На самом деле моя проблема в том, что когда мой клиент CXF связывается с сервером, защищенным SSL, с сервера поступает запрос сертификата, чтобы идентифицировать себя с сертификатом. Сервер сообщает мне, какие именно центры сертификации он ожидает, в моем хранилище ключей у меня есть сертификат, который был сертифицирован одним из этих центров, но от моего клиента не передается сертификат ...
Вот как это выглядит в журналах SSL:
CertificateRequest:
*** CertificateRequest
Cert Types: RSA, DSS,
Cert Authorities:
<CN=****, DC=****, DC=****>
Others authorities...
Пустая цепочка сертификатов клиента:
*** Certificate chain
***
Ребята, у вас есть идеи?
Заранее спасибо!