2011-11-14 23 views
6

https aracılığıyla erişilebilen bir git repo kullanmak istiyorum, Https sunucu kendini imzalı sertifikaya sahip. Tutulma + egit ile repo klonlamak çalışırken hep bir hata alıyorum:egit, https

https://host/path: açılamıyor git-yükleme paketi sun.security.validator.ValidatorException: PKIX yolu binası başarısız oldu: sun.security. provider.certpath.SunCertPathBuilderException: yapamaz istenen hedefe

için geçerli sertifika yolunu bu sorun atlamak mümkün mü bulmak? Konsol istemcisiyle ssl doğrulama işlemini atlamak için export GIT_SSL_NO_VERIFY=1 komutunu kullandım. Bu hile tutulma ile çalışmıyor.

sayesinde

Hubi

cevap

11

gereksiz olabilir. Eclipse'de Pencereye git -> Tercihler.

takım için oraya gitmek itibaren -> Git -> Yapılandırma

tıklayın "Yeni Kayıt"

Anahtar: http.sslVerify Değer: false

"Tamam" ı

tıklayın "Tamam"

Daha ayrıntılı bir yaklaşım için blog gönderisine buradan göz atın: http://www.pur-logic.com/2012/04/21/egit-self-signed-certificate/

+0

Aynı şey, ana makine adı yerine IP adresi kullanılıyorsa mı? – Chris

+2

"http.sslVerify: false" kullanılarak "kendinden imzalı sertifikalar ve git" konusuna ilişkin sayısız yanıtlarda belirtildiği gibi, güvenlik PoV ** 'den ** korkunç bir uygulamadır ve özellikle de başkaları da olmak üzere mutlak bir son çare olmalıdır seçenekler. Bu cevap sorunu çözer ve normalde çok daha ciddi olarak kabul edilen diğerleri için açılır. Ama hackerlar da yemeliler, değil mi? Buradaki temel problem, imzanın/eclipse tarafından kullanılan java tarafından kendinden imzalı sertifikaya güvenilmemesidir. Ve çözüm sadece cacert'e kaydettirmektir. – shturec

+0

+1 @shturec! Bir site için ssl doğrulama özelliğini devre dışı bırakmıyorsunuz, ancak bunu yaptığınızda TÜM siteler. Bu korkunç ve çok güvensiz bir çözüm. –

5

Eğer (varsayılan anahtar deposu JDK dizinde cacerts veya parametre -Djavax.net.ssl.trustStore ile bir belirtin) keystore içine sertifikasını içe zorunda . FAQ of CAcert

+0

bu değil açık güvenlik açıklarını ve tercih edilen yöntemi olmalıdır öyle de bu durum Burada kesin sorun için çözüm - egit tarafından kullanılan java sertifikayı güvenilir olarak tanımıyor. – shturec

0

keytool için komut sağlamaktadır:

keytool -keystore $/PATH/TO/CACERTS/KEYSTORE -storepass changeit -import -trustcacerts -v -alias cacertclass1 -file root.crt 
  • Sonunda normal sertifikası almak için -trustcacerts ihmal gerekir.
  • -alias
  • da Ayrıca sadece sunucu doğrulaması görmezden Eğit ayarlayabilirsiniz
0

Bu konuda da bazı sıkıntılarım vardı, ama farklı bir hikayeyle. Git repo'nun ana bilgisayar adı, sertifikanın ana makine adıyla eşleşmedi. Çözüm, sertifikayı hostname ile eşleşecek şekilde değiştirmekti.

+0

Bunu nasıl yaptığınızı açıklayabilir misiniz? Bence bu benim de sorunum –