根據docs,您可以手動完成從瀏覽器導出證書的相當笨重的過程,並在本地識別它。有沒有類似捲曲的--insecure
開關來使這個實用?有沒有更簡單的方法告訴HTTPBuilder忽略無效的證書?
回答
好消息大家! :-) 剛剛發現HttpBuilder的新版本(0.7.1)介紹方法:
這解決了關於無效的SSL證書(當然你必須要知道,它也降低了安全性)的所有問題。有關此方法
不能更好:) – 2017-01-18 20:33:22
發現了一種非涉及證書的進口或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(....
'新的SSLSocketFactory(sslContext,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)'沒有爲我工作,沒有找到構造函數。我必須這樣做:'def sf = new SSLSocketFactory(sslContext) sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)' – 2013-02-12 15:25:04
如果您收到java.lang.VerifyError異常,請嘗試將代碼從您的控制器或服務移至常規或java類。我認爲Grails artificat與上面的一些代碼有衝突。 – 2013-02-19 11:18:56
嗨法比亞諾,您提供的解決方案在GroovyConsole版本2.1.3(即最新版本)中無法編譯。請你讓我知道什麼是錯的/提供修復?將不勝感激。 – Ray 2013-07-19 16:15:55
- 1. 有沒有辦法讓Firefox忽略無效的SSL證書?
- 2. 有沒有辦法告訴Doxygen忽略(所有)命名空間?
- 3. 忽略Grunt中無效的自簽名ssl證書警告
- 4. 有沒有辦法強制svcutil.exe忽略SSL證書問題?
- 5. 有沒有辦法告訴DWR忽略一個懶惰初始化的字段?
- 6. 有沒有一種簡單的方法可以讓gcc忽略crtbegin.o/crtend.o?
- 7. 有沒有辦法告訴html元素忽略任何樣式表?
- 8. 有沒有更有效的方法來編寫這個簡單的SQL查詢?
- 9. 有沒有更有效的方法?
- 10. 忽略無效的ssl證書我的電話
- 11. 告訴SAX解析器忽略無效字符?
- 12. 我可以告訴findbugs忽略我無法添加的類嗎?
- 13. 如何告訴設計驗證忽略IP地址更改?
- 14. 忽略Axis客戶端的無效證書
- 15. 如何忽略Guzzle 5中的無效SSL證書錯誤
- 16. 有沒有辦法忽略忽略z-index的事件?
- 17. 從GoogleMaps獲取地理座標有沒有更簡單/更簡單的方法?
- 18. Py2exe(Python的pygame的) - 有沒有一個更簡單的方法?
- 19. 有沒有一種方法lcov忽略報告中的一些目錄
- 20. 有沒有更簡單的方法來解析Java中的Android?
- 21. 告訴gitk忽略所有匹配模式的分支
- 22. Jar忽略所有方法
- 23. 有沒有辦法忽略一個FindBugs警告?
- 24. 如何告訴Fluent NHibernate忽略沒有自動映射的特定屬性?
- 25. 有沒有更簡單的方法來完成這項工作?
- 26. 有沒有更簡單的方法來定義任何元素?
- 27. 有沒有更簡單的方法來實現這一目標?
- 28. 這種情況有沒有更簡單的方法?
- 29. 有沒有更簡單的方法來做到這一點?
- 30. jQuery手風琴有沒有更簡單的方法?
您可以安裝自己的信任管理器和主機驗證跳過SSL證書檢查:http://stackoverflow.com/questions/3242335/how -to-use-ssl-with-a-self-signed-certificate-in-groovy – ataylor 2012-07-24 20:34:34
這是在這裏報道 - > http://jira.codehaus.org/browse/GMOD-266但沒有迴應。 – Vigneshwaran 2012-11-30 06:58:09
感謝您的鏈接 – 2013-02-06 22:42:24