内容

概要

該当するバージョン

問題

解決方法

CloudCenter サーバで NSS を再設定する方法：

概要

このドキュメントは、SunPKCS11-NSSに関連するエラーメッセージのトラブルシューティングに役立ちます。このエラーは、CloudCenter Manager(CCM)およびCloudCenter Orchestrator(CCO)マシンでtomcatサービスを開始するときに表示します。

該当するバージョン

- CloudCenter 4.7.1.1

注：このエラーは、4.7.1.1 の新規インストール中に発生します。

問題

CloudCenter を設定しようとすると、osmosix.log にこのエラー メッセージが表示される場合があります。

2017-05-20 20:07:15,153 ERROR config.GatewayConfigController [http-apr-8443-exec-8]  - com.osmosix.commons.crypto.CryptoException: com.osmosix.commons.crypto.CryptoException: java.security.NoSuchProviderException: No such provider: SunPKCS11-NSS

java.lang.RuntimeException: com.osmosix.commons.crypto.CryptoException: com.osmosix.commons.crypto.CryptoException: java.security.NoSuchProviderException: No such provider: SunPKCS11-NSS

at com.osmosix.commons.convert.converter.CryptoJson2HttpMessageConverter.encrypt(CryptoJson2HttpMessageConverter.java:87

解決方法

このエラーは、Java 8 でネットワーク セキュリティ サービスが設定されていないために発生します。通常、CloudCenter インストーラによって設定されますが、この設定で欠落しているインスタンスがあります。

CloudCenter サーバで NSS を再設定する方法：

次のディレクトリに移動します。

cd /usr/lib/jvm/java-8-sun/jre/lib/security

java.security 設定を確認します。

cat java.security | grep security.provider

NSS がシステムに設定されている場合、以下のように、security.provider.10 に示されます。

[root@localhost security]# cat java.security | grep security.provider

#    security.provider.<n>=<className>

# named Sun appears in the sun.security.provider package. Thus, the

#    security.provider.1=sun.security.provider.Sun

security.provider.1=sun.security.provider.Sun

security.provider.2=sun.security.rsa.SunRsaSign

security.provider.3=sun.security.ec.SunEC

security.provider.4=com.sun.net.ssl.internal.ssl.Provider

security.provider.5=com.sun.crypto.provider.SunJCE

security.provider.6=sun.security.jgss.SunProvider

security.provider.7=com.sun.security.sasl.Provider

security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI

security.provider.9=sun.security.smartcardio.SunPCSC

security.provider.10=sun.security.pkcs11.SunPKCS11 /usr/lib/jvm/java-8-sun/jre/lib/security/nss.cfg

login.configuration.provider=sun.security.provider.ConfigFile

policy.provider=sun.security.provider.PolicyFile

強調表示されている行が欠落している場合、java.security ファイルにその行を追加します。

以下の内容で nss.cfg ファイルを同じディレクトリに作成します。

name = NSS

nssLibraryDirectory = /usr/lib64/

nssDbMode = noDb

attributes = compatibility

java.securityファイルとnss.cfgファイルの権限が正しいかどうかを確認してください。権限は 644 である必要があります。

CloudCenter VM を再起動します。

reboot

これで CloudCenter を実行できるはずです。