Kimse profile dokunmadı, ama aynı istemci artık her açılışta özel anahtar için bir parola ifadesi istiyor. Bu değişiklik bir dağıtım yükseltmesinden sonraki birkaç gün içinde ortaya çıkıyorsa, olası neden yükseltmenin kendisidir: OpenSSL 3 algoritma desteğini yeniden düzenledi ve eski kitaplığın sorunsuz okuduğu bir anahtar, tek bir bayt bile değişmeden okunamaz hale gelebilir. Denetimleri sırayla yapın, çünkü yalnızca isteme bakıldığında ikisi aynı görünür.

İlk soru anahtarın şifreli olup olmadığı, ikincisi ise bu derlemenin onu çözüp çözemeyeceğidir. Yapılandırma değişiklikleri ancak iki yanıt da bilindiğinde anlam kazanır.

Anahtarın şifreli olup olmadığını denetleyin

Dosyanın ilk satırını okuyun ve sonra kitaplığın onu ayrıştırmasına izin verin, çünkü bir dosya adı hiçbir şeyi kanıtlamaz. Etiketli PEM bloğu ENCRYPTED PRIVATE KEY şifreli PKCS#8'dir ve daha eski bir RSA PRIVATE KEY bloğu Proc-Type: 4,ENCRYPTED taşıyorsa geleneksel biçimdir, ikisi de parola ifadesi bekler. Şifrelenmemiş PRIVATE KEY blok ise bunu hiç istememelidir. Ayrıştırmayı dosyanın sahibi olan hesapla çalıştırın, çünkü izin sorunu farklı ve çok daha az ilginç bir hata verir.

Anahtar gerçekten şifrelenmemişse ve istemci hâlâ soruyorsa, kriptografiye bakmayı bırakın ve profilin hizmetin hâlâ okuyabildiği bir askpass dosyası belirtip belirtmediğini denetleyin.

Bu derlemenin onu çözüp çözemeyeceğini denetleyin

OpenSSL 3 algoritma desteğini sağlayıcılara böldü ve bir dizi eski şifre artık varsayılan sağlayıcı yerine legacy sağlayıcıda duruyor. Bu şifrelerden biriyle şifrelenmiş bir anahtar geçerliliğini korur, ancak legacy sağlayıcı olmadan yüklenen bir kitaplık onu çözemez. Bazı istemcilerde bu yinelenen bir istem olarak, diğerlerinde parola ifadesinden hemen sonra sert bir başarısızlık olarak görünür.

Aynı anahtarı aynı ikiliyle iki kez ayrıştırın: önce yalnızca varsayılan sağlayıcıyla, sonra komut satırında hem legacy hem varsayılan istenerek. İkinci deneme birincinin başarısız olduğu yerde başarılı olursa, tanı yükseltmenin zamanına değil kanıta dayanır. İkisi de aynı biçimde başarısız olursa parola ifadesi yanlıştır ya da dosya bozulmuştur ve hiçbir sağlayıcı ayarı ikisini de onarmaz.

Mevcut en dar düzeltmeyi denetleyin

Sistem genelinde bir değişiklik yerine istemciyle sınırlı bir değişikliği tercih edin. Bazı 2.6 derlemeleri, o daemon süreci için iki sağlayıcıyı da yükleyen bir profil seçeneği kabul eder, bu nedenle ona güvenmeden önce tam sürümünüzün kılavuzunda yönergeyi doğrulayın; bunun yerine sistem openssl.cnf dosyasını düzenlemek ana makinedeki her OpenSSL programını etkiler. Daha dar ayar, anahtar yeniden kodlandıktan sonra geri alınması da çok daha kolaydır.

İstem kaybolsun diye parola ifadesini silmeyin. Bu, korunan bir kimlik bilgisini düz metin dosyasına dönüştürür ve göründüğü her yedekleme, kopya ve destek paketinin riskini sessizce değiştirir. Önemli olan ayrım, parola ifadesine ihtiyaç duyan anahtar ile bu kitaplığın çözemediği anahtar arasındadır.

Hizmet bağlamını denetleyin, sonra yeniden kodlayın

Anahtarın kilidi açılabildiğinde, onu güncel bir algoritmayla yeniden şifreleyin böylece bağımlılık ortadan kalksın. Yeni dosyayı modern bir şifreyle yazın, ayrıştırıldığını doğrulayın, profili güncelleyin ve eski kopyayı yalnızca bir bağlantı başarılı olana kadar saklayın. Parola ifadesini asla komut satırına koymayın, çünkü her yerel kullanıcı onu süreç listesinden okuyabilir. Eski dosyayı ancak yeni dosya hizmet hesabından bağlandıktan sonra kaldırın, yalnızca kabuğunuzdan değil.

Sonra istemciyi gerçekten çalıştıran birimi denetleyin. Kabuğunuzda okunabilen bir anahtar, başka bir hesap altında veya sıkılaştırılmış ev dizini ayarıyla çalışan bir hizmet için okunamaz olabilir.

Sağlayıcı ayarını profilin yanına not edin ve iki komutluk testi onunla birlikte saklayın. Daha sonraki bir yükseltme legacy sağlayıcıyı kaldırdığında, anahtarın hâlâ ona ihtiyacı olup olmadığını ya da profilin bu geçici çözümden çıkarılıp çıkarılamayacağını görmek için o testi yeniden çalıştırın.

İstem en az üç nedeni olan bir belirtidir ve bunlardan yalnızca biri eksik parola ifadesidir.

İlgili makaleler