Выберите все псевдонимы на modifySSLConfig, используя скрипт JACL

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

$AdminTask modifySSLConfig {-alias NodeDefaultSSLSettings -sslProtocol TLSv1.2}
$AdminConfig save

Я хотел бы иметь возможность сделать это на всех псевдонимов, которые можно найти на моем сервере, но я не знаю, как

Любые идеи или руководства о том, как это сделать, помогут. Спасибо.

Редактировать:

Теперь я могу найти все конфиги SSL, используя этот код

[$AdminTask listSSLConfigs {-scopeName (cell):Node01Cell:(node):Node01}

Моя следующая проблема, как я смогу извлечь строку псевдонима оттуда? Мне нужен только псевдоним, чтобы я мог заменить его на другую переменную, чтобы я мог просто использовать цикл foreach для этого

$AdminTask modifySSLConfig {-alias ${aliasvariablegoeshere}  -sslProtocol TLSv1.2}

РЕДАКТИРОВАТЬ:

set hold [list [$AdminTask listSSLConfigs {-scopeName (cell):Node01Cell:(node):Node01}]]
foreach aliasList [$AdminConfig show $hold] {
    foreach aliasName [$AdminConfig show $aliasList] {
        set testTrim "alias "
        set test5 [string trimleft $aliasName $testTrim]
        $AdminTask modifySSLConfig {-alias ${test5} -sslProtocol TLSv1.2}
    }
}
$AdminControl save

Я сделал это и смог извлечь только имя псевдонима и смог поместить его в переменную, как я хотел, но это дает мне ошибку неверного параметра. Любые идеи, почему это происходит и как я смогу решить эту проблему?

3 ответа

Решение

Мне удалось заставить это работать, кажется, что, что бы я ни делал, я не могу сделать псевдоним, который я получил, чтобы быть допустимым параметром, поэтому я сделал все это как строковую команду. Вот мой код

foreach aliasList [$AdminConfig list SSLConfig] {
    foreach aliasName [$AdminConfig show $aliasList alias] {
        set strTrim "alias "
        set strFinal [string trimleft $aliasName $strTrim]
        set command "-alias $strFinal -sslProtocol TLSv1.2"
        $AdminTask modifySSLConfig $command
        puts saved
    }
}
$AdminConfig save

Вы можете перечислить все конфигурации SSL, используя:

AdminTask.listSSLConfigs('[-all true]')

для использования JACL:

$AdminTask listSSLConfigs {-all true}

а затем переберите список и измените все, что вам нужно. Вместо -all Вы можете предоставить область, например: -scopeName (cell):localhostNode01Cell:(node):localhostNode01

Для получения подробной информации о командах SSLConfig проверьте группу команд SSLConfigCommands для объекта AdminTask

ОБНОВИТЬ:

в общем это должно работать:

foreach aliasList [$AdminTask listSSLConfigs {-scopeName (cell):PCCell1:(node):Node1}] {
    puts $aliasList  
    set splitList [split $aliasList " "]
    puts $splitList 
    set aliasname [lindex $splitList 1]
    puts $aliasname

    $AdminTask modifySSLConfig { -alias $aliasname -sslProtocol TLSv1.2 }

}

но я не могу сделать $AdminTask правильно решить $aliasname param... Настоятельно предлагаю вам перейти на jython.;-)

Я смог понять это для Jython:

      import sys
import os
import string
import re

#$HOME/IBM/WebSphere/AppServer/bin/wsadmin.sh -lang jython -f $HOME/tls12.py
#Updates Websphere security to TLSv1.2

AdminTask.convertCertForSecurityStandard('[-fipsLevel SP800-131 -signatureAlgorithm SHA256withRSA -keySize 2048 ]')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()

sslConfigList=AdminTask.listSSLConfigs('[-all true]').splitlines()
for sslConfig in sslConfigList:
  sslElems=sslConfig.split(" ")
  AdminTask.modifySSLConfig (['-alias',sslElems[1],'-scopeName',sslElems[3],'-sslProtocol', 'TLSv1.2', '-securityLevel', 'HIGH' ])

AdminConfig.save()
AdminNodeManagement.syncActiveNodes()

После этого вы также должны обновить все свои файлы ssl.client.props с помощью:

      com.ibm.ssl.protocol=TLSv1.2

Перезапустите диспетчер развертывания и принудительно включите syncNode вручную на всех узлах, например:

      ~/IBM/WebSphere/AppServer/profiles/*/bin/syncNode.sh <DeplymentManagerHost> <dmgr port=8879> -username <username> -password <password>
Другие вопросы по тегам