NetWorker:java.io.IOException:無效的金鑰存放區格式

Summary: 無法使用 java keytool 列出或修改 NetWorker AUTHC 或 NetWorker Web 使用者介面 (NWUI) 金鑰存放區檔案。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

NetWorker Authentication (AUTHC) 伺服器或 NetWorker Web 使用者介面 (NWUI) 伺服器包含 JAVA Runtime Environment (JRE)。通常可使用 NetWorker 執行階段環境 (NRE) 進行此作業。

Linux: /opt/nre/java/latest
Windows: C:\Program Files\NRE\java\jre#.#.#_###

注意:Windows 主機上沒有「最新」符號連結。根據安裝的 NRE 版本而定,JRE 路徑包含 NRE 版本隨附的 JRE 版本。

使用 keytool 命令以檢閱 NetWorker authc/NWUI 金鑰存放區檔案,並出現 Java 錯誤:

[root@nsr bin]# keytool -list -keystore /nsr/authc/conf/authc.keystore
 Enter keystore password:
 keytool error: java.io.IOException: Invalid keystore format

即使執行 keytool 命令直接來自 NRE java bin 目錄。

NetWorker 伺服器金鑰存放區檔案:

Linux: 
    • /nsr/authc/conf/authc.keystore
    • /nsr/authc/conf/authc.truststore
    • /opt/nsr/authc-server/conf/authc.truststore
    • /opt/nre/java/latest/lib/security/cacerts
Windows:
    • C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
    • C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
    • C:\Program Files\NRE\java\jre##.#_###\lib\security\cacerts
NetWorker Web 使用者介面 (NWUI) 檔案:
Linux:
    • /nsr/nwui/monitoring/app/conf/nwui.keystore
    • /opt/nre/java/latest/cacerts
Windows:
    • C:\Program Files\EMC NetWorker\nwui\monitoring\app\conf\nwui.keystore
    • C:\Program Files\NRE\java\jre#.#.#_###\lib\security\cacerts

Cause

主機上安裝了另一個版本的 Oracle Java Runtime Environment (JRE)。Oracle JRE 安裝會干擾 NRE。

Resolution

建議搭配 NetWorker 應用程式使用 NetWorker 執行階段環境 (NRE)。NetWorker 伺服器的 AUTHC 安裝記錄會識別使用哪一個「Java 路徑」:

Linux: /opt/nsr/authc-server/logs/install.log
[root@nsr ~]# cat /opt/nsr/authc-server/logs/install.log | grep "Java Path"
Java Path            Yes        /opt/nre/java/latest
Java Path            Yes        /opt/nre/java/latest
Java Path            Yes        /opt/nre/java/latest
Windows: %LOCALAPPDATA%\Temp\NetWorker_YYYYMMDDHHmmSS_#_AuthC.log
JAVAHOME = C:\Program Files\NRE\java\jre1.8.0_471
或者,從管理命令提示字元執行:
echo %NSR_JAVA_HOME%
或管理 PowerShell 提示:
$env:NSR_JAVA_HOME
範例:
C:\Users\Administrator.NETWORKER>echo %NSR_JAVA_HOME%
C:\Program Files\NRE\java\jre1.8.0_471

PS C:\Users\Administrator.NETWORKER> $env:NSR_JAVA_HOME
C:\Program Files\NRE\java\jre1.8.0_471


使用命令列變數強制 keytool 來自 NRE 的用法:

注意:這些變數僅適用於當前 shell 或提示符。工作階段關閉後,即會清除系統。

Linux:

keytool=/opt/nre/java/latest/bin/keytool

範例:

[root@nsr ~]# keytool=/opt/nre/java/latest/bin/keytool

使用變數執行所有 keytool 命令:

[root@nsr ~]# $keytool
Key and Certificate Management Tool

Commands:

 -certreq            Generates a certificate request
 -changealias        Changes an entry's alias
 -delete             Deletes an entry
 -exportcert         Exports certificate
 -genkeypair         Generates a key pair
 -genseckey          Generates a secret key
 -gencert            Generates certificate from a certificate request
 -importcert         Imports a certificate or a certificate chain
 -importpass         Imports a password
 -importkeystore     Imports one or all entries from another keystore
 -keypasswd          Changes the key password of an entry
 -list               Lists entries in a keystore
 -printcert          Prints the content of a certificate
 -printcertreq       Prints the content of a certificate request
 -printcrl           Prints the content of a CRL file
 -storepasswd        Changes the store password of a keystore

Use "keytool -command_name -help" for usage of command_name

Windows:

使用 NSR_JAVA_HOME 從 NRE 執行命令 bin 目錄。

命令提示字元範例:

"%NSR_JAVA_HOME%\bin\keytool.exe" OPTIONS

PowerShell 範例:

& "$env:NSR_JAVA_HOME\bin\keytool.exe" OPTIONS
範例:
C:\Users\Administrator.NETWORKER>"%NSR_JAVA_HOME%\bin\keytool.exe"
Key and Certificate Management Tool

Commands:

 -certreq            Generates a certificate request
 -changealias        Changes an entry's alias
 -delete             Deletes an entry
 -exportcert         Exports certificate
 -genkeypair         Generates a key pair
 -genseckey          Generates a secret key
 -gencert            Generates certificate from a certificate request
 -importcert         Imports a certificate or a certificate chain
 -importpass         Imports a password
 -importkeystore     Imports one or all entries from another keystore
 -keypasswd          Changes the key password of an entry
 -list               Lists entries in a keystore
 -printcert          Prints the content of a certificate
 -printcertreq       Prints the content of a certificate request
 -printcrl           Prints the content of a CRL file
 -storepasswd        Changes the store password of a keystore

Use "keytool -command_name -help" for usage of command_name
.............................................................................................................................................................................
PS C:\Users\Administrator.NETWORKER> & "$env:NSR_JAVA_HOME\bin\keytool.exe"
Key and Certificate Management Tool

Commands:

 -certreq            Generates a certificate request
 -changealias        Changes an entry's alias
 -delete             Deletes an entry
 -exportcert         Exports certificate
 -genkeypair         Generates a key pair
 -genseckey          Generates a secret key
 -gencert            Generates certificate from a certificate request
 -importcert         Imports a certificate or a certificate chain
 -importpass         Imports a password
 -importkeystore     Imports one or all entries from another keystore
 -keypasswd          Changes the key password of an entry
 -list               Lists entries in a keystore
 -printcert          Prints the content of a certificate
 -printcertreq       Prints the content of a certificate request
 -printcrl           Prints the content of a CRL file
 -storepasswd        Changes the store password of a keystore

Use "keytool -command_name -help" for usage of command_name

 

如果 NetWorker 使用 NetWorker 執行階段環境 (NRE),且已安裝另一個 Oracle Java 執行階段環境 (JRE),請移除 Oracle JRE 套裝。

Linux:

警告:如果伺服器是 NetWorker Virtual Edition (NVE),請勿移除 Oracle JRE 套裝。
  1. 檢查另一個JRE安裝,可以使用以下命令;不過,請洽詢您的 Linux 系統管理員:
rpm -qa --last | grep jre
find / -name java -type f
/opt/nre/java/jreX 是 NetWorker Runtime Environment;但是,可能會出現其他包:
/etc/alternatives
/usr/bin/java
/usr/lib/jreX
  1. 如果安裝了另一個 JRE 套件,請諮詢 Linux 系統管理員是否可以移除。
rpm -e package_name

Windows: 

  1. 開啟 Windows 控制台 -> 程式和功能
  2. 檢閱 Oracle Java Runtime Environment 套裝清單 (不包括 NetWorker Runtime Environment)。
  3. 如果已安裝 Oracle Java Runtime Environment,若可將其移除,請洽詢 Windows 系統管理員。
  4. 從系統解除安裝 Oracle Java Runtime Environment。
  5. 移除 Oracle JRE 後,開啟新的命令提示字元工作階段以執行 keytool 命令。

Additional Information

Affected Products

NetWorker

Products

NetWorker Family
Article Properties
Article Number: 000297934
Article Type: Solution
Last Modified: 05 Mar 2026
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.