У вашей проблемы может быть несколько причин, поэтому я попытаюсь обобщить все здесь:
В вашей команде для установки хранилища ключей не указаны имена хранилища ключей/доверенных сертификатов. Кроме того, насколько я помню, вы должны установить его в BrokerRegistry, а не в ComIbmJVMManager (но это может сработать). Пример допустимых команд:
mqsichangeproperties $BROKERNAME -o BrokerRegistry -n brokerKeystoreFile -v $KEYSTORE_iib_PATH/iib.jks
mqsichangeproperties $BROKERNAME -o BrokerRegistry -n brokerTruststoreFile -v $KEYSTORE_iibTrust_PATH/iibTrust.jks
mqsisetdbparms $BROKERNAME -n brokerTruststore::password -u $KEYSTORE_USER -p $KEYSTORE_PASSWORD
mqsisetdbparms $BROKERNAME -n brokerKeystore::password -u $KEYSTORE_USER-p $KEYSTORE_PASSWORD
Кроме того, вам могут понадобиться следующие команды для прослушивателя http:
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPListener -n enableSSLConnector -v true
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPSConnector -n keystoreFile -v $KEYSTORE_iib_PATH/iib.jks
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPSConnector -n truststoreFile -v $KEYSTORE_iibTrust_PATH/iibTrust.jks
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPSConnector -n keystorePass -v $KEYSTORE_PASSWORD
mqsichangeproperties $BROKERNAME -b httplistener -o HTTPListener -n startListener -v true
Это все, что касается части интеграционной шины. Ваша вторая ошибка (и, вероятно, самая большая) заключается в том, что вы не знаете, что такое хранилище ключей/доверительное хранилище. Помещение сертификата в репозиторий НЕ ЯВЛЯЕТСЯ хранилищем ключей. (Поищите немного о JKS: хранилище ключей Java)
Вы можете сделать следующее, чтобы создать хранилище доверенных сертификатов/хранилище ключей в Unix:
keystoreName=iibTrust.jks
KEYSTORE_PASSWORD=123qwerty ## DO NOT USE THAT PLEASE
for certificate in `ls *.cer`;
do
alias=`echo $certificate | rev | cut -d '.' -f 2- | rev | cut -d '_' -f2`
keytool -importcert -file $certificate -keystore ${keystoreName}.jks -alias $alias -storepass $KEYSTORE_PASSWORD -noprompt
if [[ $? -ne 0 ]]; then "Unable to add $certificate in keystore $keystoreName.jks";
done
keytool -list -keystore ${keystoreName}.jks -storepass $KEYSTORE_PASSWORD
Я в основном скопировал/вставил все свои сценарии, чтобы включить SSL в IIB, поэтому со всей этой информацией вы сможете заставить его работать.
person
jdel
schedule
18.04.2019