Einführung
Dieses Dokument unterstützt Sie bei der Fehlerbehebung im Zusammenhang mit SunPKCS11-NSS. Dieser Fehler wird angezeigt, wenn Sie die Tomcat-Services in den Computern CloudCenter Manager (CCM) und CloudCenter Orchestrator (CCO) starten.
Betroffene Version
Hinweis: Dieser Fehler wird während der Neuinstallation von 4.7.1.1 festgestellt.
Problem
Wenn Sie versuchen, CloudCenter zu konfigurieren, wird dem Benutzer möglicherweise die folgende Fehlermeldung in osmosexm.log angezeigt:
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
Lösung
Dieser Fehler ist auf die in Java 8 nicht konfigurierten Netzwerksicherheitsdienste zurückzuführen. Normalerweise wird sie vom CloudCenter-Installationsprogramm konfiguriert, es gibt jedoch Instanzen, in denen diese Konfiguration fehlt.
Neukonfiguration von NSS auf den CloudCenter-Servern:
Rufen Sie dieses Verzeichnis auf:
cd /usr/lib/jvm/java-8-sun/jre/lib/security
Überprüfen Sie die Konfiguration java.security:
cat java.security | grep security.provider
Wenn NSS auf dem System konfiguriert ist, sollte es in security.provider.10 aufgeführt sein, wie hier gezeigt:
[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
Wenn die hervorgehobene Zeile fehlt, fügen Sie sie der java.security-Datei hinzu.
Erstellen Sie die Datei nss.cfg im gleichen Verzeichnis mit diesem Inhalt:
name = NSS
nssLibraryDirectory = /usr/lib64/
nssDbMode = noDb
attributes = compatibility
Überprüfen Sie, ob die Berechtigung für die Datei java.security und nss.cfg korrekt ist. Die Berechtigung sollte 644 lauten.
Starten Sie das CloudCenter VM neu:
reboot
Jetzt sollten Sie CloudCenter konfigurieren können.