根据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. 忽略无效SSL证书
- 3. 有没有简单的方法(宏?)来告诉结构对齐?
- 4. 有没有办法告诉Doxygen忽略(所有)命名空间?
- 5. 有没有办法告诉sed忽略符号链接?
- 6. 忽略Grunt中无效的自签名ssl证书警告
- 7. 如何用IWinHttpRequest忽略无效证书?
- 8. 有没有办法强制svcutil.exe忽略SSL证书问题?
- 9. 告诉EF 6忽略私有属性
- 10. 有没有办法告诉Resharper 6忽略新的Async语言功能?
- 11. 有没有办法告诉DWR忽略一个懒惰初始化的字段?
- 12. 如何告诉Maven忽略SSL错误(并信任所有证书)?
- 13. 有没有一种简单的方法可以让gcc忽略crtbegin.o/crtend.o?
- 14. 有没有更好的方法来忽略\ n?
- 15. 有没有办法告诉html元素忽略任何样式表?
- 16. 有没有办法通过get_multi忽略无效密钥?
- 17. 有没有更有效的方法来编写这个简单的SQL查询?
- 18. 有没有办法让所有浏览器都忽略自签名证书?
- 19. NSURLSession - 忽略SSL证书警告
- 20. 告诉LLDB忽略文件
- 21. 告诉角JS来忽略
- 22. 有没有更有效的方法?
- 23. 有没有更有效的方法呢?
- 24. 忽略无效的ssl证书我的电话
- 25. 告诉SAX解析器忽略无效字符?
- 26. 我可以告诉findbugs忽略我无法添加的类吗?
- 27. 如何告诉设计验证忽略IP地址更改?
- 28. 使用UIWebView忽略无效的服务器证书
- 29. 如何忽略Objective-C中的“无效”SSL证书?
- 30. 忽略无效的邮件服务器证书
您可以安装自己的信任管理器和主机验证跳过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