Sommario

Introduzione

Versione interessata

Problema

Soluzione

Come riconfigurare NSS sui server CloudCenter:

Introduzione

Questo documento aiuta a risolvere i problemi relativi al messaggio di errore SunPKCS11-NSS. Questo errore viene visualizzato quando si avviano i servizi Tomcat nei computer CloudCenter Manager (CCM) e CloudCenter Orchestrator (CCO).

Versione interessata

- CloudCenter 4.7.1.1

Nota: Questo errore viene rilevato durante la nuova installazione di 4.7.1.1

Problema

Quando si tenta di configurare CloudCenter, l'utente potrebbe visualizzare questo messaggio di errore in 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

Soluzione

Questo errore è dovuto ai servizi di sicurezza di rete non configurati in Java 8. Normalmente è configurato dal programma di installazione di CloudCenter, ma in alcune istanze manca questa configurazione.

Come riconfigurare NSS sui server CloudCenter:

Selezionare la directory:

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

Verificare la configurazione di java.security:

cat java.security | grep security.provider

Se sul sistema è configurato NSS, questo dovrebbe essere elencato in security.provider.10, come mostrato di seguito:

[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

Se la linea evidenziata non è presente, aggiungerla al file java.security.

Creare il file nss.cfg nella stessa directory con il seguente contenuto:

name = NSS

nssLibraryDirectory = /usr/lib64/

nssDbMode = noDb

attributes = compatibility

Verificare se le autorizzazioni per il file java.security e nss.cfg sono corrette. L'autorizzazione dovrebbe essere 644.

Riavviare la VM CloudCenter:

reboot

Ora dovrebbe essere possibile configurare CloudCenter.