在 z/OS 上將金鑰儲存庫轉換成 CMS 格式

您可以在 z/OS 系統上設定 Liberty 群體的動態遞送。該作業的一個元素是將金鑰儲存庫轉換為 CMS 格式。

提供的範例 Script 示範如何設定 ikeycmd 的 CMS 提供者。您的環境可能不同。您必須確保找出 CMS 提供者,並指定正確的提供者偏移。

設定 Liberty 群體的動態遞送的步驟 5 中,必須針對 z/OS 執行那兩個 gskcmd 指令,而且要改用 ikeycmd 而不是 gskcmd。 如範例 Script 中所示,ikeycmd 指令必須包含額外的 -Djava.security.properties,在 CMS 提供者後面附加適當的提供者偏移。 在每一個指令中,-Djava.security.properties 參數必須在為 Liberty 群體設定動態遞送的步驟 5 所指定的其他參數之前。

#!/bin/sh

# z/os ikeycmd wrapper that adds CMS v3 support.
# Author:

if [ -n "$JAVA_HOME" ]; then
  echo "Using JAVA_HOME=$JAVA_HOME"
else
  JAVA_HOME=/usr/lpp/java/java800/J8.0_64/
fi

# Should not require edits below this line

> /tmp/java.security.append

# Check for non-v3 CMS provider in java.security.
if grep CMSProvider $JAVA_HOME/lib/security/java.security >/dev/null; then
  if ! grep -i "CMSProvider V3" $JAVA_HOME/lib/security/java.security; then
    echo "CMS Provider already present, but no 'V3' argument: $JAVA_HOME/lib/security/java.security"
    exit 1
  fi
else
  # Need to add CMSv3 provider.
  # Hunt for the next provider offset
  let NEXT_PROVIDER=1
  for PROVIDER in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
    if grep security.provider.$PROVIDER $JAVA_HOME/lib/security/java.security >/dev/null; then
      let NEXT_PROVIDER=$NEXT_PROVIDER+1
    fi
  done

  # Stash the provider line in a file
  echo "security.provider.$NEXT_PROVIDER=com.ibm.security.cmskeystore.CMSProvider V3" > /tmp/java.security.append
fi

if [ $# -eq 0 ]; then
  $JAVA_HOME/bin/ikeycmd -Djava.security.properties=/tmp/java.security.append -help
else
  $JAVA_HOME/bin/ikeycmd -Djava.security.properties=/tmp/java.security.append  "$@"
fi

指示主題類型的圖示 參照主題

檔名:rwlp_wve_convertks2cms.html