2012-05-08 4 views
0

У меня был другой вопрос, и теперь я редактирую его, потому что мне удалось сделать то, что я достиг вначале. Используя «How do I use SSL« Я настроил свой ActiveMQ-брокер, принимающий SSL-соединения, и я пытался реализовать клиента для проверки связи. Я понял, что я мог бы сделать это, установив свойства системы:ActiveMQ через SSL: «acceptInvalidBrokerCert = true» не работает

static { 
    System.setProperty("javax.net.ssl.keyStore", "/home/amq/SSL/client.ks"); 
    System.setProperty("javax.net.ssl.keyStorePassword", "password"); 
    System.setProperty("javax.net.ssl.trustStore", "/home/amq/SSL/client.ts"); 
} 

Проблемы у меня были были в создании хранилища ключей/truststores и экспортирующие сертификат брокера. Когда я удалил файлы .ks и .ts и повторно сделал все, как описано в «How do I use SSL», это сработало.

Мой новый вопрос: Как установить соединение без необходимости создания хранилища ключей для клиента и импорта сертификата брокера?

Я ищу способ принять любой сертификат, который брокер отправляет мне. В this link я нашел способ установки опции URI:

ssl://localhost:61617?transport.acceptInvalidBrokerCert=true 

, но это не работает для меня. С момента добавления «? Transport.acceptInvalidBrokerCert = true» в моей URI или URL-строке метод перестает работать, и я больше не могу установить соединение.

Может ли кто-нибудь предоставить мне пример java или C++-клиента, который подключается к брокеру ActiveMQ с использованием SSL без импорта сертификата брокера, или, другими словами, при принятии какого-либо недействительного сертификата?

ответ

1

Флаг URI, на который вы ссылаетесь, действителен только для клиентов .NET, использующих NMS.ActiveMQ. У клиентов C++ и Java этот параметр отсутствует. Для этого на клиенте C++ есть способ сделать это, перед созданием Connection необходимо установить системное свойство следующим образом.

System::getProperty("decaf.net.ssl.disablePeerVerification", "false"); 

Самый простой способ получить SSL сертификаты, работающие без этих тестирования вариантов для создания корневого сертификата, а затем создать брокер сертификат с вами корневым сертификатом и добавить корневой сертификат для клиента доверия магазина, что путь любого брокера с сертификатом, подписанным вашим корневым сертификатом, будет доверено.

+0

Работала с моим примером [ActiveMQ-CPP] (http://activemq.apache.org/cms/). Теперь я буду искать аналогичное свойство для моего java-клиента. –

Смежные вопросы