Contenu

Introduction

Version affectée

Problème

Solution

Comment reconfigurer NSS sur les serveurs CloudCenter :

Introduction

Ce document vous aide à dépanner le message d'erreur lié à SunPKCS11-NSS. Cette erreur apparaît lorsque vous démarrez les services tomcat sur les machines CloudCenter Manager (CCM) et CloudCenter Orchestrator (CCO).

Version affectée

- CloudCenter 4.7.1.1

Note: Cette erreur est observée lors de la nouvelle installation de 4.7.1.1

Problème

Lorsque vous essayez de configurer CloudCenter, l'utilisateur peut voir ce message d'erreur dans 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

Solution

Cette erreur est due aux services de sécurité réseau non configurés dans Java 8. Normalement, il est configuré par le programme d'installation de CloudCenter, mais il y a des cas où cette configuration est manquante.

Comment reconfigurer NSS sur les serveurs CloudCenter :

Accédez à ce répertoire :

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

Vérifiez la configuration java.security :

cat java.security | grep security.provider

Si NSS est configuré sur le système, il doit s'afficher dans security.provider.10, comme indiqué ici :

[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

Si la ligne mise en surbrillance est manquante, ajoutez-la au fichier java.security.

Créez le fichier nss.cfg dans le même répertoire avec ce contenu :

name = NSS

nssLibraryDirectory = /usr/lib64/

nssDbMode = noDb

attributes = compatibility

Vérifiez si les autorisations sur le fichier java.security et nss.cfg sont correctes. L'autorisation doit être 644.

Redémarrer la machine virtuelle CloudCenter :

reboot

Vous devez maintenant pouvoir configurer CloudCenter.