はじめに
NSO では、スマートライセンスを使用します。ライセンスを、自己署名証明書(self-signed certificate)を使用している Cisco Smart Software Manager On-Prem で管理している場合、NSO のライセンス登録時に Java ランタイムがサーバー証明書の検証に失敗し、『REGISTRATION FAILED』と表示され、登録ができません。本ドキュメントでは、NSO へのサーバー証明書の登録方法について説明します。
方法
1. On-Premサーバーのサーバー証明書をNSOサーバーへコピー
On-Prem サーバーの証明書ファイルを、NSO サーバーの任意のディレクトリに scp コマンド等を使用してコピーします。
また、NSO サーバーから On-Prem サーバーへ以下の openssl コマンドを実行することで、サーバー証明書を確認することも可能です。
openssl s_client -showcerts -connect <On-Prem IP addresss or hostname>:<port number>
上記コマンドの出力結果から、”—–BEGIN CERTIFICATE—–” から “—–END CERTIFICATE—–” までの部分を抜き出し、NSO サーバー上に証明書ファイルとして保存します。
2. コピーされたOn-Premサーバーのサーバー証明書をNSOサーバーのJavaに登録
keytool -import でサーバー証明書を登録します。
# /usr/lib/jvm/jre/bin/keytool -import -trustcacerts -file <certificate file> -keystore /usr/lib/jvm/jre/lib/security/cacerts -alias <alias name> -storepass changeit -noprompt
以下の例では、上記の手順 1 で作成した証明書ファイルを /root/oprem.crt として保存しています。
実行例
# /usr/lib/jvm/jre/bin/keytool -import -trustcacerts -file /root/onprem.crt -keystore /usr/lib/jvm/jre/lib/security/cacerts -alias onprem.crt -storepass changeit -noprompt
なお、keytool のパスはデフォルトでは上記の例の通りですが、Java をインストールしたディレクトリがデフォルトでない場合、異なるパスとなる可能性があります。
3. 登録内容を確認
/usr/lib/jvm/jre/bin/keytool -list コマンドで、登録されたサーバー証明書が表示されることを確認します。
/usr/lib/jvm/jre/bin/keytool -list -storepass changeit -keystore /usr/lib/jvm/jre/lib/security/cacerts
実行例
# /usr/lib/jvm/jre/bin/keytool -list -storepass changeit -keystore /usr/lib/jvm/jre/lib/security/cacerts |grep onprem
onprem.crt, Sep 27, 2024, trustedCertEntry,
#
4. ncsを再起動し、ライセンスの登録を実施
サーバー証明書の登録が確認できたら、ncs を再起動し、その後にライセンス登録を行ってください。
参考情報
NSO: ライセンス、及びスマートライセンスの有効化
https://community.cisco.com/t5/-/-/ta-p/3162920