我如何合并多个插件kdb文件?

时间:2017-11-06 09:52:43

标签: websphere websphere-liberty

我创建了四个自由服务器(Liberty1,Liberty2,Liberty3,Liberty4作为服务器名称)和一个 IBM HTTP Server 作为前端。我的所有请求都是通过 IHS 进行路由。已安装 SSL 及其在HTTP Server和Liberty1服务器之间。我已生成不同Liberty服务器的合并插件并传播到 IHS 。现在我的挑战是合并Plugin-cfg.kdb,pluging-cfg.rdb,plugin-cfg.sth文件并将其复制到Webserver插件文件夹,以便SSL在Liberty服务器上运行。任何人都可以为我提供相同的命令。 (请不要通过ikeyman)。

1 个答案:

答案 0 :(得分:0)

您只需要合并* .kdb中的CA证书。这是一个示例脚本,它提取所有签名者并在新的密钥库中收集它们:

https://github.com/covener/plugin-tools/blob/master/mergekdbs.sh

if [ $# -lt 3 ]; then
  echo "$0 merged.kdb old1.kdb old2.kdb [old3.kdb...]"
  exit 1
fi

NEWKDB=$1
shift

if [ ! -f $NEWKDB ]; then
   gskcapicmd -keydb -create -db $NEWKDB -pw WebAS -stash
fi

DIR=`mktemp -d`

for OLDKDB in "$@"; do
gskcapicmd -cert -list -stashed -db $OLDKDB| grep ^\!| cut -d\! -f 2|sed -e s'/"//g'  \
| while read line; do
   rm -f "$DIR/$line"
   gskcapicmd -cert -extract -stashed -target "$DIR/$line" -label "$line" -db $OLDKDB
done
done

find $DIR -type f |
while read CA; do
   gskcapicmd -cert -add -db $NEWKDB -stashed -file "$CA" -label "`basename "$CA"`"
done