NetWorker:NMCの認証局署名済み証明書をインポートまたは置換する方法」
概要: 次の手順では、NetWorker Management Console (NMC)サーバー上のデフォルトのNetWorker自己署名証明書をCA署名済み証明書に置き換える方法について説明します。
手順
以下の手順では、デフォルトのNetWorker自己署名証明書をNetWorker Management Console (NMC)のCA署名済み証明書に置き換える方法について説明します。このKBでは、WindowsとLinuxの両方のNMCサーバーの手順について説明します。
NetWorkerサーバー認証サービス(AUTHC)およびNetWorker Webユーザー インターフェイス(NWUI)の自己署名証明書をCA署名済み証明書に置き換えるプロセスの詳細は、次のオペレーティング システム固有の記事を参照してください。
- NetWorker:「AUTHC」および「NWUI」の認証局署名済み証明書をインポートまたは置き換える方法(Linux)」
- NetWorker:「AUTHC」および「NWUI」の認証局署名済み証明書をインポートまたは置き換える方法(Windows)」
関連する証明書:
-
<server>.csrファイルに置き換えます。NetWorker Management Console Serverのcertificate signing request(証明書署名要求) -
<server>.keyファイルに置き換えます。NetWorker Management Console Serverのprivate key(プライベート キー) -
<server>.crtファイルに置き換えます。NetWorker Management Console ServerのCA-signed certificate(CA署名済み証明書) -
<CA>.crtファイルに置き換えます。CAルート証明書 -
<ICA>.crtファイルに置き換えます。CA中間証明書(使用可能な場合はオプション)
作業を開始する前に:
このプロセスでは、OpenSSLユーティリティーを使用します。このユーティリティーは、Linuxオペレーティング システムではデフォルトで提供されていますが、Windowsシステムには含まれていません。OpenSSLのインストールについては、システム管理者に問い合わせてください。インストールされているNetWorkerのバージョンに応じて、必要なOpenSSLのバージョンは異なります。
- NetWorker 19.9~19.11にはopensslバージョン1.1.1nが必要
- NetWorker 19.12.0.0(Linuxのみ)は、opensslバージョン3.0.14をサポート
- NetWorker 19.12.0.2(Windowsのみ)は、opensslバージョン3.0.14をサポート
OpenSSLのバージョンは、次の方法で確認できます。
# openssl versionWindowsの場合:
- Windowsエクスプローラーから、 openssl.exeの場所に移動します。このパスは、OpenSSLのインストール方法によって異なる場合があります。
- openssl.exeファイルを開き、[Details]タブに移動します。[Product Version]フィールドには、OpenSSLバージョンの詳細が表示されます。
または、 openssl.exe ファイル パスがシステムの PATH 変数の一部である場合は、openssl versionコマンドを管理コマンド プロンプトから実行できます。「 openssl.exe 」を含むディレクトリーが PATHに含まれていない場合は、ディレクトリー変更(cd)で「 openssl.exeの詳細を確認してください。
CAに提供するプライベート キーと証明書署名要求(CSR)ファイルを生成します。
- NMCサーバーで、OpenSSLコマンドライン ユーティリティーを使用して、NetWorkerサーバーのプライベート キー ファイル(
<server>.key)およびCSRファイル(<server>.csr)を作成します。
Linuxの場合:
# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
Windowsの場合:
set openssl="<Full system path to the openssl.exe file>" %openssl% req -new -newkey rsa:4096 -nodes -out "C:\tmp\<server>.csr" -keyout "C:\tmp\<server>.key"
C:\tmp は存在しません。
- CSRファイル(
<server>.csr)をCAに送信し、CA署名済み証明書ファイルを生成してもらいます(<server>.crt)を提供する必要があります。CAは、CA署名済み証明書ファイル(<server>.crt)、ルート証明書(<CA>.crt)、および中間CA証明書(<ICA>.crt)を提供する必要があります。
Linux NetWorker Management Console (NMC)サーバー:
- CA署名済み証明書を、個々のキー ファイルまたはPFX形式の単一ファイルで取得します。
- CA署名済み証明書が単一のPFXファイルに含まれている場合は、OpenSSLツールと同様に、プライベート キーとCA署名済み証明書を抽出できます(WindowsにOpenSSLがインストールされていない場合があるため、個別にインストールできます)。
.crt と .key ファイルを、証明書ファイルおよびキー ファイルのファイル名を含む完全なファイル パスに置き換えてください。
- PFXファイルからプライベート キーとCA署名済み証明書を抽出します。
# openssl pkcs12 -in <file>.pfx -out <server>.key -nodes -nocerts
# openssl pkcs12 -in <file>.pfx -out <server>.crt -nokeys
-
-
- の整合性の検証
server.keyとserver.crtの詳細を確認してください。
- の整合性の検証
-
# openssl pkey -in <server>.key -pubout -outform pem | sha256sum
# openssl x509 -in <server>.crt -pubkey -noout -outform pem | sha256sum
-
-
- プライベート キー、CA署名済みサーバー証明書、ルートCA(および中間証明書)をPEM形式に変換します。
-
# openssl rsa -in <server>.key -outform pem -out server.key.pem
# openssl x509 -in <server>.crt -outform pem -out server.crt.pem
# openssl x509 -in CA.crt -outform pem -out CA.crt.pem
# openssl x509 -in ICA.crt -outform pem -out ICA.crt.pem
- [
server.key.pem、ルートCA.crt、中間証明書(該当する場合)、および署名済みサーバー証明書を結合し、NMC用のcakey.pemファイルを作成します。
# cat server.key.pem CA.crt.pem ICA.crt.pem server.crt.pem > cakey.pem
- NMCサーバーの
gstサービスを起動します。
# systemctl stop gst
- 既存の
cakey.pemファイルのコピーを作成し、その後、デフォルトのファイルを手順2のDで作成したファイルに置き換えます。
# cp /opt/lgtonmc/etc/cakey.pem /opt/lgtonmc/etc/cakey.pem_orig # cp cakey.pem /opt/lgtonmc/etc/cakey.pem
cakey.pem ファイルはポート 9001 に対応します。このファイルを手順2,Dで作成した結合ファイルに置き換えると、自己署名証明書がCA署名付き証明書に置き換えられます。
- NMCサーバーの
server.crtとserver.keyファイルのコピーを作成し、元のファイルを署名済みのserver.crtとserver.keyファイルに置き換えます。
# cp /opt/lgtonmc/apache/conf/server.crt /opt/lgtonmc/apache/conf/server.crt_orig # cp <server>.crt /opt/lgtonmc/apache/conf/server.crt # cp /opt/lgtonmc/apache/conf/server.key /opt/lgtonmc/apache/conf/server.key_orig # cp <server>.key /opt/lgtonmc/apache/conf/server.key
- NMCサーバーの
gstサービスを起動します。
# systemctl start gst
- NMCサーバーの監視
/opt/lgtonmc/logs/gstd.rawエラーがないか。
NetWorker:nsr_render_logを使用して.rawログ ファイルをレンダリングする方法
nsrnmc)が所有し、権限は 600 に設定されている必要があります。
確認:
NMCサーバーの gst サービスが実行されている場合は、NMCサーバで次のコマンドを実行します。
openssl s_client -connect localhost:9001 -showcerts 2>/dev/null </dev/null openssl s_client -connect localhost:9000 -showcerts 2>/dev/null </dev/null
Example:
nve:~ # openssl s_client -connect localhost:9001 -showcerts 2>/dev/null </dev/null CONNECTED(00000003) --- Certificate chain 0 s:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=nve.networker.lan i:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=dc.networker.lan ... ... nve:~ # openssl s_client -connect localhost:9000 -showcerts 2>/dev/null </dev/null CONNECTED(00000003) --- Certificate chain 0 s:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=nve.networker.lan i:/C=CA/ST=Ontario/L=Toronto/O=Dell Technologies/OU=DPD/CN=dc.networker.lan ... ... nve:~ #
Windows NetWorker Management Console (NMC)サーバー:
- CA署名済み証明書を、個々のキー ファイルまたはPFX形式の単一ファイルで取得します。
- CA署名済み証明書が単一のPFXファイルに含まれている場合は、OpenSSLツールと同様に、プライベート キーとCA署名済み証明書を抽出できます(Windowsには通常、OpenSSLはインストールされていません。必要に応じて個別にインストールできます)。
.crt と .key ファイルを、証明書ファイルおよびキー ファイルのファイル名を含む完全なファイル パスに置き換えてください。
- PFXファイルからプライベート キーとCA署名済み証明書を抽出します。
%openssl% pkcs12 -in <file>.pfx -out <server>.key -nodes -nocerts
%openssl% pkcs12 -in <file>.pfx -out <server>.crt -nokeys
-
-
- の整合性の検証
server.keyとserver.crtの詳細を確認してください。
- の整合性の検証
-
%openssl% pkey -in <server>.key -pubout -outform pem | %openssl% dgst -sha256
%openssl% x509 -in <server>.crt -pubkey -noout -outform pem | %openssl% dgst -sha256
-
-
- プライベート キー、CA署名済みサーバー証明書、ルートCA(および中間証明書)をPEM形式に変換します。
-
%openssl% rsa -in <server>.key -outform pem -out C:\tmp\server.key.pem
%openssl% x509 -in <server>.crt -outform pem -out C:\tmp\server.crt.pem
- [
server.key.pemとsever.crt.pemファイルをNMC用のcakey.pemファイルに結合します。これには、以下のPowerShellコマンドを使用することをお勧めします。
PS C:\tmp> Get-Content server.key.pem,server.crt.pem | Out-File cakey.pem -Encoding ascii
-Encoding ascii が設定されていない場合、次の問題が発生する可能性があります。NetWorker:証明書を置き換えた後、Windows NMCサーバーがGSTDサービスを開始できない」
- NMCサーバーの
gstサービスを起動します。
net stop gstd
- 元の
cakey.pemファイルのコピーを作成した後、結合したCA署名済みファイルcakey.pemを元の場所に配置します。
copy "C:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem" "C:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem_orig" copy C:\tmp\cakey.pem "C:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem"
cakey.pem ファイルはポート 9001 に対応します。このファイルを手順2,Dで作成した結合ファイルに置き換えると、自己署名証明書がCA署名付き証明書に置き換えられます。
- NMCサーバーの
server.crtとserver.keyファイルのコピーを作成し、元のファイルを署名済みのserver.crtとserver.keyファイルに置き換えます。
copy "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt" "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt_orig" copy "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key" "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key_orig" copy <server>.crt "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt" copy <server>.key "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key"
- NMCサーバーの
gstサービスを起動します。
net start gstd
- NMCサーバーの監視
C:\Program Files\EMC NetWorker\Management\GST\logs\gstd.rawエラーがないか。
NetWorker:nsr_render_logを使用して.rawログ ファイルをレンダリングする方法
nsrnmc)が所有し、権限は 600 に設定されている必要があります。
確認:
NMCサーバーの gst サービスが実行されている場合は、NMCサーバーのPowerShellから次のコマンドを実行し、 ポートを置き換えます。ポート9000に対して1回、ポート9001に対して1回実行します。
param(
[string]$Server = "localhost",
[int]$Port = PORT
)
$tcp = [System.Net.Sockets.TcpClient]::new()
$tcp.Connect($Server, $Port)
# Accept any certificate so we can inspect it (this is inspection only)
$ssl = [System.Net.Security.SslStream]::new(
$tcp.GetStream(),
$false,
{ param($sender, $cert, $chain, $errors) $true }
)
try {
# SNI/target host is the $Server value
$ssl.AuthenticateAsClient($Server)
$remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate)
# Some keys use CNG and PublicKey.Key can be $null; fall back safely
$keySize = try { $remoteCert.PublicKey.Key.KeySize } catch { $null }
if (-not $keySize) { $keySize = ($remoteCert.PublicKey.EncodedKeyValue.RawData.Length * 8) }
"=== Certificate (from $($Server):$Port) ==="
"Subject : $($remoteCert.Subject)"
"Issuer : $($remoteCert.Issuer)"
"NotBefore : $($remoteCert.NotBefore)"
"NotAfter : $($remoteCert.NotAfter)"
"Public Key : $($remoteCert.PublicKey.Oid.FriendlyName) ($keySize-bit)"
"Signature Algorithm : $($remoteCert.SignatureAlgorithm.FriendlyName)"
}
finally {
$ssl.Dispose()
$tcp.Dispose()
}
Example:
PS C:\Users\Administrator.NETWORKER> param( >> [string]$Server = "localhost", >> [int]$Port = 9001 >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> $tcp = [System.Net.Sockets.TcpClient]::new() PS C:\Users\Administrator.NETWORKER> $tcp.Connect($Server, $Port) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> # Accept any certificate so we can inspect it (this is inspection only) PS C:\Users\Administrator.NETWORKER> $ssl = [System.Net.Security.SslStream]::new( >> $tcp.GetStream(), >> $false, >> { param($sender, $cert, $chain, $errors) $true } >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> try { >> # SNI/target host is the $Server value >> $ssl.AuthenticateAsClient($Server) >> >> $remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate) >> >> # Some keys use CNG and PublicKey.Key can be $null; fall back safely >> $keySize = try { $remoteCert.PublicKey.Key.KeySize } catch { $null } >> if (-not $keySize) { $keySize = ($remoteCert.PublicKey.EncodedKeyValue.RawData.Length * 8) } >> >> "=== Certificate (from $($Server):$Port) ===" >> "Subject : $($remoteCert.Subject)" >> "Issuer : $($remoteCert.Issuer)" >> "NotBefore : $($remoteCert.NotBefore)" >> "NotAfter : $($remoteCert.NotAfter)" >> "Public Key : $($remoteCert.PublicKey.Oid.FriendlyName) ($keySize-bit)" >> "Signature Algorithm : $($remoteCert.SignatureAlgorithm.FriendlyName)" >> } >> finally { >> $ssl.Dispose() >> $tcp.Dispose() >> } === Certificate (from localhost:9001) === Subject : CN=win-srvr02.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA Issuer : CN=dc.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA NotBefore : 03/09/2026 15:42:43 NotAfter : 06/11/2028 15:42:43 Public Key : RSA (2048-bit) Signature Algorithm : sha256RSA PS C:\Users\Administrator.NETWORKER> param( >> [string]$Server = "localhost", >> [int]$Port = 9000 >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> $tcp = [System.Net.Sockets.TcpClient]::new() PS C:\Users\Administrator.NETWORKER> $tcp.Connect($Server, $Port) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> # Accept any certificate so we can inspect it (this is inspection only) PS C:\Users\Administrator.NETWORKER> $ssl = [System.Net.Security.SslStream]::new( >> $tcp.GetStream(), >> $false, >> { param($sender, $cert, $chain, $errors) $true } >> ) PS C:\Users\Administrator.NETWORKER> PS C:\Users\Administrator.NETWORKER> try { >> # SNI/target host is the $Server value >> $ssl.AuthenticateAsClient($Server) >> >> $remoteCert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate) >> >> # Some keys use CNG and PublicKey.Key can be $null; fall back safely >> $keySize = try { $remoteCert.PublicKey.Key.KeySize } catch { $null } >> if (-not $keySize) { $keySize = ($remoteCert.PublicKey.EncodedKeyValue.RawData.Length * 8) } >> >> "=== Certificate (from $($Server):$Port) ===" >> "Subject : $($remoteCert.Subject)" >> "Issuer : $($remoteCert.Issuer)" >> "NotBefore : $($remoteCert.NotBefore)" >> "NotAfter : $($remoteCert.NotAfter)" >> "Public Key : $($remoteCert.PublicKey.Oid.FriendlyName) ($keySize-bit)" >> "Signature Algorithm : $($remoteCert.SignatureAlgorithm.FriendlyName)" >> } >> finally { >> $ssl.Dispose() >> $tcp.Dispose() >> } === Certificate (from localhost:9000) === Subject : CN=win-srvr02.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA Issuer : CN=dc.networker.lan, OU=DPD, O=Dell Technologies, L=Toronto, S=Ontario, C=CA NotBefore : 03/09/2026 15:42:43 NotAfter : 06/11/2028 15:42:43 Public Key : RSA (2048-bit) Signature Algorithm : sha256RSA
その他の情報
NMCの自己署名証明書がCA署名済み証明書に置き換えられた後でも、NMCランチャーからNMCサーバーへの接続中に次の警告が表示されることがあります。

[View Certificate Details]をクリックします。証明書の詳細から、CA署名済み証明書が使用されていることを検証できます。
署名済み証明書がNMCクライアントの信頼できるルート証明書にないため、警告が表示されています。
この警告は無視してかまいません。必要に応じて、NMCサーバーのCA署名済み証明書をNMCクライアントの信頼できるルート証明書にインポートすることもできます。
- NMCサーバーのCA署名済み証明書(
<server>.crt)を、NMCクライアント ホストの任意のフォルダーにコピーします。 - CA署名済み証明書のプロパティーを開きます。
- [Install Certificate]をクリックします。
- [Local Machine]を選択します。
- [Place all certificates in the following store]を選択します。
- [Browse]をクリックします。
- [Trusted Root Certification Authorities]を選択し、[OK]をクリックします。
- [次へ]をクリックします。
- [完了]をクリックします。
- インポートが失敗したか成功したかを示すメッセージが表示されたら、[OK]をクリックします。
- CA署名済み証明書のプロパティーで、[OK]をクリックします。
次回のNMC起動時には、セキュリティ警告は表示されません。