Мы работаем с менеджером API WSO2 версии 6.5.0 на блоках RHEL 7.
В настоящее время мы работаем над усилением безопасности установки. У нас есть комплексное развертывание, поэтому все функции находятся в одном профиле. (Message Broker, API Gateway, Traffi c Manager et c.)
Мы хотим защитить трафик c от и к Message Broker - это то, что мы можем заставить работать - и желательно шифровать все пароли, необходимые для этой конфигурации.
Но мы не можем заставить эту конфигурацию работать с шифрованием ciphertool. См. Ниже фрагменты для нашей конфигурации.
FILE broker.xml
<sslConnection enabled="true" port="8672">
<keyStore>
<location>/opt/wso2/apim/wso2am-2.6.0/repository/resources/security/wso2-internal.jks</location>
<password>ddddddd</password>
<certType>SunX509</certType>
</keyStore>
<trustStore>
<location>/opt/wso2/apim/wso2am-2.6.0/repository/resources/security/client-truststore.jks</location>
<password>ddddddd</password>
<certType>SunX509</certType>
</trustStore>
</sslConnection>
!FILE
FILE api-manager.xml
<connectionfactory.TopicConnectionFactory>amqp://admin:aaaa@clientid/carbon?brokerlist='tcp://server.acme.org:8672?ssl='true'%26trust_store='/opt/wso2/apim/wso2am-2.6.0/repository/resources/security/client-truststore.jks'%26trust_store_password='ddddddd''</connectionfactory.TopicConnectionFactory>
!FILE
FILE jndi.properties
connectionfactory.TopicConnectionFactory = amqp://admin:aaaa@clientid/carbon?brokerlist='tcp://server.acme.org:8672?ssl='true'&trust_store='/opt/wso2/apim/wso2am-2.6.0/repository/resources/security/client-truststore.jks'&trust_store_password='ddddddd''
connectionfactory.QueueConnectionFactory = amqp://admin:aaaaaa@clientid/carbon?brokerlist='tcp://server.acme.org:8672?ssl='true'&trust_store='/opt/wso2/apim/wso2am-2.6.0/repository/resources/security/client-truststore.jks'&trust_store_password='ddddddd''
!FILE
Все это ломается, когда мы хотим зашифровать его с помощью ciphertool. Мы сузили проблему до брокера. xml шифрование. Как только мы зашифруем этот файл, wso2carbon.log выдает ошибки использования при тестировании политики регулирования. Сами записи корректно шифруются после запуска инструмента шифрования, мы видим ссылки secretAlias в брокере. xml теги пароля.
ERROR {org.wso2.andes.transport.network.mina.MinaNetworkHandler} - Исключительная ситуация, обнаруженная Mina, но без обработчика протокола для ее обработки {org.wso2.andes.transport.network.mina.MinaNetworkHandler} java .io.IOException: подделка хранилища ключей или неверный пароль "Причина: java .security.UnrecoverableKeyException: проверка пароля не удалась ""
Эти две записи в cipher-tool.properties, относящиеся к брокеру. xml предоставляются для установки по умолчанию.
Broker.KeyStore.Pass = repository / conf / broker.xml // transports / amqp / sslConnection / keyStore / password, false
Broker.trustStore.Pass = repository / conf / broker.xml // transports / amqp / sslConnection / trustStore / пароль, false
То есть кто-нибудь может подтвердить, если эти переменные: Broker.trustStore.Pass и Broker.KeyStore.Pass являются правильными именами? Мы нашли похожие случаи, когда имена этих переменных не были правильными во всех разделениях, если они не были в том же буквенном регистре, что и код WSO2? К сожалению, нигде в документации WSO2 не указаны правильные имена переменных.
Спасибо.