docs uyarınca, bir tarayıcıdan elle bir cert ihracat işlemini yerel olarak tanıma ve alma konusunda oldukça karmaşık bir süreçten geçebilirsiniz. Bunu pratik yapmak için curl'in --insecure
anahtarına benzer bir şey var mı?HTTPBuilder'a geçersiz bir sertifikayı yok saymasını söylemek daha kolay bir yol var mı?
cevap
İyi haber herkesi kesmek için bir yol bulundu!
ignoreSSLIssues()
Bu (tabii o da güvenliğini azaltır farkında olmak zorunda) geçersiz SSL sertifikaları ile ilgili tüm sorunları çözer: :-) Sadece HttpBuilder yeni versiyonu (0.7.1) yöntemini tanıttı öğrendim. Bu yöntemle ilgili
fazla bilgi: SSL sertifikası kontrolleri atlamak için kendi güven yöneticisi ve hostname doğrulayıcı yükleyebilir
Daha iyi olamazdı :) –
olmayan sertifikaların ithalat içeren veya httpbuilder
//== HTTPBUILDER IMPORTS
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.0-RC2')
import groovyx.net.http.*
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*
//== END HTTPBUILDER IMPORTS
import javax.net.ssl.X509TrustManager
import javax.net.ssl.SSLContext
import java.security.cert.X509Certificate
import javax.net.ssl.TrustManager
import java.security.SecureRandom
import org.apache.http.conn.ssl.SSLSocketFactory
import org.apache.http.conn.scheme.Scheme
import org.apache.http.conn.scheme.SchemeRegistry
def http = new HTTPBuilder("https://your_unsecure_certificate_host")
//=== SSL UNSECURE CERTIFICATE ===
def sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, [ new X509TrustManager() {public X509Certificate[]
getAcceptedIssuers() {null }
public void checkClientTrusted(X509Certificate[] certs, String authType) { }
public void checkServerTrusted(X509Certificate[] certs, String authType) { }
} ] as TrustManager[], new SecureRandom())
def sf = new SSLSocketFactory(sslContext, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
def httpsScheme = new Scheme("https", sf, 443)
http.client.connectionManager.schemeRegistry.register(httpsScheme)
//================================
//do your http call with the http object
http.request(....
'new SSLSocketFactory (sslContext, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)' benim için çalışmadı, yapıcı bulunamadı. Bunu yapmak zorundaydım: 'def sf = new SSLSocketFactory (sslContext) sf.setHostnameVerifier (SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)' –
Bir java.lang.VerifyError istisnası alırsanız, kodunuzu denetleyicinizden veya hizmetinizden bir groovy'ye taşıyın veya java sınıfı. Bence grails, yukarıdaki kodların bazılarıyla geliştirici çelişkilerini anlatıyor. –
Hey Fabiano, verdiğiniz çözüm, GroovyConsole Sürüm 2.1.3'te (yani yeni bir sürümde) derlenmiyor. Lütfen neyin yanlış olduğunu söyler misiniz? Çok memnun olurum. – Ray
- 1. Çıkış yapmak için daha iyi ve/veya daha kolay bir yol var mı?
- 2. Erlang'da bir sububsub kayıt alanındaki bir değeri değiştirmek için daha kolay bir yol var mı?
- 3. jQuery chaining parent(), daha kolay bir yolu var mı?
- 4. Bir Tumblr temasının html'sini arayüzlerini kullanmadan düzenlemek için daha kolay bir yol var mı?
- 5. ReSharper'ın biçimlendirmemesini söylemek için kodu işaretlemenin bir yolu var mı?
- 6. Dosyalarda dolaşmak için kolay bir yol C#
- 7. SQL Server, insert tetikleyicileri yerine - tek bir sütunu değiştirmek için kolay bir yol var mı?
- 8. daha iyi bir yol?
- 9. Bir jQuery komut dizisinin bir olay olarak adlandırıldığını öğrenmek için kolay bir yol var mı?
- 10. Bir mermi arşivi eserlerini temizlemenin kolay bir yolu var mı?
- 11. Öğeleri yakutta yinelenebilir bir şekilde sarmak için daha temiz, daha kısa, yerleşik bir yol var mı?
- 12. EntLib'e, ExecuteSprocAccessor'u çağırırken işletme nesnesindeki bir özelliği yok saymasını söyleyebilir miyim?
- 13. Kovaryans bildirmek için bir yol var mı?
- 14. Yol bölümünde geçerli bir URL var mı?
- 15. Bir görüntünün gradyanını hesaplamak için OpenCV'de hızlı ve kolay bir yol var mı?
- 16. WP8: Windows telefon uygulaması için bir BitmapImage ölçeklendirmek ve bulanıklaştırmak için kolay bir yol var mı?
- 17. Git bir tilde ile başlayan dosyaları yok saymasını nasıl söylerim?
- 18. Rubocop'un belirli bir dizini veya dosyayı yok saymasını söyleme
- 19. Spring MVC Form etiketleri: "Seçim yok" öğesini eklemek için standart bir yol var mı?
- 20. Eclipse emülatörünü kullanarak bir android uygulaması çalıştırmanın daha kolay bir yolu var mı?
- 21. ConfigurationManager.AppSettings'i geçersiz kılmanın bir yolu var mı?
- 22. C# içinde bir dizgiyi ayrıştırma; daha temiz bir yol var mı?
- 23. Ekspres bir uygulamayı meteor'a dönüştürmenin kolay bir yolu var mı?
- 24. TypeScript tanımlarını kurmanın kolay bir yolu var mı?
- 25. ActiveAdmin ile ilgili verileri oluşturmanın/seçmenin daha kolay bir yolu var mı?
- 26. Bir sınıf/yapının veri üyesi olup olmadığını anlamanın kolay bir yolu var mı?
- 27. MSXML'den daha iyi bir IDOMImplementation var mı?
- 28. AvalonDock'a daha yeni bir alternatif var mı?
- 29. ImageMagick'den daha hızlı bir şey var mı?
- 30. Bileşen taramasıyla keşfedilen bir fasulyeyi geçersiz kılacak bir yol var mı?
https://github.com/jgritman/httpbuilder/wiki/SSL (altta bölüm): http://stackoverflow.com/questions/3242335/how -to-use-ssl-ile-bir-kendini-imzalı-sertifika-in-groovy – ataylor
Burada rapor edilir -> http://jira.codehaus.org/browse/GMOD-266 ama henüz bir cevap yok. – Vigneshwaran
Bağlantı için teşekkürler –