Theo số docs, bạn có thể thực hiện quá trình khá phức tạp khi xuất chứng chỉ từ trình duyệt theo cách thủ công và nhận được chứng nhận cục bộ. Có bất cứ điều gì tương tự như curl của --insecure
chuyển đổi để thực hiện điều này thực tế?Có cách nào dễ dàng hơn để yêu cầu HTTPBuilder bỏ qua một chứng chỉ không hợp lệ không?
Trả lời
tin tức tất cả mọi người tốt! :-) Chỉ cần phát hiện ra rằng phiên bản mới (0.7.1) của HttpBuilder giới thiệu phương pháp:
ignoreSSLIssues()
này giải quyết tất cả các vấn đề liên quan đến giấy chứng nhận SSL không hợp lệ (tất nhiên bạn phải biết rằng nó cũng làm giảm an ninh).
biết thêm thông tin về phương pháp này: https://github.com/jgritman/httpbuilder/wiki/SSL (phần ở phía dưới)
Không thể tốt hơn :) –
Tìm thấy một cách mà không liên quan đến việc nhập khẩu giấy chứng nhận hoặc httpbuilder hacks
//== 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 mới (sslContext, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)' không hoạt động đối với tôi, không tìm thấy hàm tạo. Tôi đã phải làm điều này: 'def sf = new SSLSocketFactory (sslContext) sf.setHostnameVerifier (SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)' –
Nếu bạn nhận được một ngoại lệ java.lang.VerifyError cố gắng di chuyển mã từ bộ điều khiển hoặc dịch vụ của bạn đến một groovy hoặc lớp java. Tôi nghĩ rằng grails artificats enhancer xung đột với một số mã trên. –
Hey Fabiano, giải pháp bạn đã cung cấp không biên dịch trong phiên bản GroovyConsole 2.1.3 (tức là một phiên bản gần đây). Bạn vui lòng cho tôi biết những gì là sai/cung cấp một sửa chữa? Sẽ được nhiều đánh giá cao. – Ray
- 1. Bỏ qua chứng chỉ SSL không hợp lệ
- 2. Có lý do hợp lệ nào để bỏ qua các chứng chỉ SSL không hợp lệ/không hợp lệ (khi xử lý xử lý thanh toán) không?
- 3. Bỏ qua Chứng chỉ Máy chủ Không hợp lệ với UIWebView
- 4. Có cách nào để làm cho Firefox bỏ qua các chứng chỉ ssl không hợp lệ không?
- 5. Có cách nào dễ dàng để làm cho gcc bỏ qua crtbegin.o/crtend.o không?
- 6. Hibernate constraint ConstraintViolationException. Có cách nào dễ dàng để bỏ qua các mục trùng lặp không?
- 7. Cách nhận Yêu cầu ký chứng chỉ
- 8. WebResource.axd yêu cầu không có tham số - Đây là một yêu cầu không hợp lệ webresource
- 9. Cách đặt Apache Commons HttpClient 3.1 bỏ qua mức độ không hợp lệ của chứng chỉ HTTPS?
- 10. Có cách nào dễ dàng hơn để ký một tài liệu XML trong Java không?
- 11. Làm thế nào để bỏ qua một lỗi chứng chỉ với C# 2.0 WebClient - mà không có giấy chứng nhận
- 12. Yêu cầu không hợp lệ trong SOAPUI
- 13. Máy chủ SQL - Có cách nào dễ dàng bỏ qua các trích dẫn khi tìm kiếm không?
- 14. Yêu cầu chứng chỉ mở không thành công
- 15. Có cách nào dễ dàng hơn để hợp nhất các Biểu mẫu Windows.
- 16. Keytool Java cách dễ dàng để thêm chứng chỉ máy chủ từ url/cổng
- 17. Yêu cầu Python "chứng chỉ xác minh không thành công"
- 18. Có cách nào dễ dàng để hợp nhất hai chuỗi được sắp xếp bằng LINQ không?
- 19. Có cách nào dễ dàng hơn để bắt đầu thời gian trong ngày hiện tại không?
- 20. là có một cách dễ dàng để tìm chỉ số mảng số không trong Fortran?
- 21. Làm cách nào để yêu cầu RavenDB bỏ qua một thuộc tính chứ không phải WebAPI?
- 22. Có cách nào dễ dàng để lặp qua một NSArray ngược?
- 23. Có một lý do hợp lệ nào để bỏ qua một ngoại lệ bị bắt
- 24. Làm cách nào để ký yêu cầu HTTP có chứng chỉ X.509 trong Java?
- 25. Có cách nào dễ dàng để tích hợp jshint với netbeans không?
- 26. yêu cầu ký chứng chỉ Apple
- 27. Có cách nào dễ dàng để biết số tiền được dành để đợi GIL Python không?
- 28. Làm cách nào để yêu cầu QuickCheck chỉ tạo các chỉ mục danh sách hợp lệ cho một tham số?
- 29. Javascript: Cách dễ dàng hơn để định dạng số?
- 30. ASP.NET WebApi - Làm cách nào để "cho phép", nhưng không phải "yêu cầu" chứng chỉ ứng dụng khách?
Bạn có thể cài đặt riêng bạn quản lý tin tưởng và hostname xác minh để bỏ qua kiểm tra giấy chứng nhận SSL: http://stackoverflow.com/questions/3242335/how -to-use-ssl-with-a-self-signed-certificate-in-groovy – ataylor
Nó được báo cáo ở đây -> http://jira.codehaus.org/browse/GMOD-266 nhưng chưa có phản hồi nào. – Vigneshwaran
Cảm ơn bạn đã liên kết –