NetWorker: PBE Parametre Ayrıştırma Hatası: AES Şifresi için Nesne Tanımlayıcısı Bekleniyor
Summary: NetWorker kimlik doğrulama hizmeti kendinden imzalı sertifikası, CA tarafından imzalanan sertifikalarla değiştirildi. NetWorker sunucu hizmeti, "PBE parameter parsing error: expecting the object identifier for the AES şifresi" bildirerek başlatılamıyor ...
Symptoms
- NetWorker kimlik doğrulama hizmeti kendinden imzalı sertifikası, CA tarafından imzalanan sertifikalarla değiştirildi.
- Sertifikalar değiştirildikten sonra NetWorker sunucu hizmetleri başlatılamıyor. Sunucu daemon günlüğü, hizmet başlangıcı sırasında aşağıdaki hatayı bildirir:
- Linux:
/nsr/logs/daemon.raw - Windows (Varsayılan):
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw - NetWorker: Nasıl kullanılır?
nsr_render_log.raw günlük dosyalarını işlemek için
- Linux:
notice authservice: Caused by: java.io.IOException: PBE parameter parsing error: expecting the object identifier for AES cipher
Cause
Kendinden imzalı sertifikaları CA imzalı sertifikalarla değiştirmek için kullanılan işlem, Java keytoolve OpenSSLSertifika İmzalama İsteği (CSR) oluşturmak ve PKCS12 (p12) dosyaları.
Bu sorun, kullanılan şifreleme algoritmaları arasındaki uyumsuzluk nedeniyle ortaya çıkar. PKCS12 dosyaları ve Java keytool'nin özellikle OpenSSL ve Java'nın farklı sürümleri söz konusu olduğunda bunları ayrıştırma yeteneği.
Daha yeni OpenSSL sürümleri varsayılan olarak AES şifrelemesine sahip olabilir (örneğin, AES-256-CBC) oluştururken .p12 dosyaları, özel anahtarların ve sertifikaların güvenliğini sağlama. Bu, 3DES gibi eski algoritmalardan daha güvenlidir.
Java'nın eski sürümleri (8u291 ve öncesi) AES şifrelemesini desteklemez . PKCS12 Dosyaları. Şifrelemenin aşağıdakiler gibi daha eski algoritmaları kullanmasını beklerler:
PBEWithSHAAnd3KeyTripleDESPBEWithSHAAndRC2_40
Yani ne zaman Java keytool içe aktarmaya çalışır .p12 dosyası AES ile şifrelenirse AES için Nesne Tanımlayıcısını (OID) tanımadığı için Parola Tabanlı Şifreleme (PBE) parametrelerini ayrıştıramaz.
Bu sorun, sunucuda birden fazla Java örneği yüklüyse de görülebilir. Örneğin NetWorker, NetWorker Çalışma Zamanı Ortamı'nı (NRE) kullanacak şekilde yapılandırılmıştır ve NetWorker sürümü tarafından desteklenen en son NRE sürümüne güncellenir; ancak, sunucuda Java Runtime Environment'ın (JRE) daha eski bir sürümü de yüklüdür. Ne zaman keytool komutu kullanıldığında eski sürüm kullanıldığında, bu durum .p12 dosyaları ve NetWorker tarafından kullanılan sertifika depoları.
Resolution
- NetWorker'ın, NetWorker Çalışma Zamanı Ortamı'nı (NRE) kullanacak şekilde yapılandırılması önemle tavsiye edilir. NetWorker'ın NRE'yi kullanmak üzere yapılandırıldığından ve NRE'nin NetWorker sürümü tarafından desteklenen mevcut en son sürüme rutin olarak güncelleştirildiğinden emin olun:
-
- NetWorker 19.12 ve Öncesi: NRE 8.0.x
- NetWorker 19.13 ve sonraki sürümler: NRE 17.0.x
- NetWorker Çalışma Zamanı Ortamı (NRE): Giriş ve Kurulum
NOT: NRE paketini yükseltmek için NetWorker Virtual Edition (NVE) OsRollup ve NetWorker yükseltmeleri kullanılır. NVE, varsayılan olarak NRE'yi kullanacak şekilde yapılandırılmıştır.
- NetWorker kendinden imzalı sertifikalarını değiştirme prosedürünü izlerken NRE keytool un tam yolunu belirtin veya komut kabuğunda yolu ayarlamak için bir değişken kullanın.
Linux: java_bin=/opt/nre/java/latest/bin
Windows: set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
NOT: Windows'ta yol, yedekleme yöneticisi tarafından seçilen yükleme konumuna bağlı olarak farklılık gösterir. Yol, yüklü NRE sürümüne bağlı olarak farklı JRE sürümlerini de içerir.
Sonraki tüm keyool Komutlar daha sonra değişkeni çağrılarak çalıştırılır:
Linux: $java_bin/keytool OPTIONS
Windows: %java_bin%\keytool OPTIONS
Sürecin tamamı, aşağıdaki işletim sistemine özgü makalelerde belgelenmiştir: