المحتويات

المقدمة

الإصدار المتأثر

المشكلة

الحل

كيفية إعادة تكوين NSS على خوادم CloudCenter:

المقدمة

يساعدك هذا المستند على أستكشاف أخطاء رسالة الخطأ المتعلقة ب SunPKCS11-NSS وإصلاحها. يظهر هذا خطأ عندما يبدأ أنت ال tomcat خدمة في CloudCenter Manager (CCM) و CloudCenter Orchestrator (CCO) أداة.

الإصدار المتأثر

- 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، ولكن هناك مثيلات حيث يكون هذا التكوين مفقودا.

كيفية إعادة تكوين NSS على خوادم CloudCenter:

الانتقال إلى هذا الدليل:

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.