2016-04-05 45 views
2

Uygulamaya göre önemli çalışmalar yapılması gerektiğinden ve gerekli düzeltmelerin uygulanması için çok büyük olduğu için java 6 altında tomcat'te çalışan 7 veya 8 sürümüne yükseltme yapan eski bir web uygulamasına sahibiz. eski bir uygulama. Şimdi, TLS 1.2 üzerinden giden (yani, bir istemci olarak) bağlantı kurmak için bir gereksinimimiz var, ancak java 6 sadece 1.0'ı destekliyor. Biz gelen bağlantılar için web-sunucusu ve OpenSSL olarak Apache kullanmak ve bu mutlu TLS 1.2 destekler vbjava 6'dan TLS 1.2 kullanma

Herkes benzer sorunu gidermek zorunda verdi, yoksa aşağıdaki olası iş ya yorum yapabilirsiniz:

  • Geri döngü
  • openssl bir istemci olabilir
    • etkin bir şekilde iç proxy, yerel makine (veya başka bir şekilde yönlendirme) ve TLS 1.2 bağlantısı oluşturmak OpenSSL'yi kullanımı?
    • s_client'e ihtiyacımız var mı?
  • bu seçici olması gerekir
    • bağlantısını yükseltmek için mevcut güvenlik duvarı kullanın
    • Açıkçası firewall
  • Kullanım “Bouncy Kalesi” bağlıdır bu uygulamaya (https://www.bouncycastle.org/)
+0

Java 6 altında çalışan bir uygulama JRE 7 ile çalıştırılamaz. Denediniz mi? Bouncy Castle, güvenlik sağlayıcısını JRE'den şeffaf bir şekilde değiştirebildiği için iyi bir seçenek olabilir, ancak uyumluluğun sağlanması için çok fazla test yapmanız gerekir. –

+0

java 7'yi denedik ve bozuldu. Regresyon testi büyük ölçüde otomatiktir, bu yüzden bir sorun daha az olacaktır. – Nate

+0

AFAIK, JDK 6 artık güvenlik güncellemelerini almıyor, bu yüzden kullanmak iyi bir fikir değil. Hatta Java'nın TLS uygulaması ile ilgili birçok sorun nedeniyle güncellemeleri alsa da, bir TLS sunucusu için Java kullanmazdım. Nginx'i Tomcat'in önüne bir ters proxy/TLS terminatörü olarak yerleştirin, nginx'in TLS'yi ele geçirmesine izin verin. –

cevap

1

Bunun için openssl's s_client kullanmayın - yavaş, ve d hata ayıklama/test için daha fazla.

stunnel'u kullanmayı deneyin. Sizinki gibi kullanım durumları için tasarlandı ve başlamanıza yardımcı olacak birçok örnek yapılandırma bulabilirsiniz. TLS 1.2 kullanımını zorlamak için konfigürasyonunuza sslVersion = TLSv1.2 yönergesini dahil ettiğinizden emin olmak istersiniz.