2010-08-17 18 views
11

Tôi có một khách hàng ruby ​​kết nối với máy chủ trao đổi bằng cách sử dụng SSL & SSL. Tôi sử dụng thư viện Ruby Net :: IMAP (sử dụng openssl trong phần cover) để kết nối. Nó hoạt động tốt trong nhiều tháng. Quản trị viên máy chủ trao đổi đã cài đặt chứng chỉ mới từ godaddy và giờ tôi nhận được lỗi này:SSL_connect SYSCALL trả về = 5 errno = 0 state = SSLv2/v3 đọc máy chủ hello A

SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A 

Có ai biết lỗi này có nghĩa là gì không? (Tôi đã cố gắng googling)

Tôi nghi ngờ có một vấn đề với cert mới gây ra điều này, nhưng tôi không biết làm thế nào để khắc phục sự cố.

Ngoài ra tôi biết bạn có thể vô hiệu hóa xác minh giấy chứng nhận khi sử dụng NET: HTTP bằng cách thực hiện:

http.verify_mode = OpenSSL::SSL::VERIFY_NONE if http.use_ssl? 

nhưng tôi không thể tìm ra cách để làm điều này bằng NET: IMAP. Tôi muốn vô hiệu hóa điều này để xem đây có phải là vấn đề không.

Như cho mã im sử dụng: Im sử dụng này (hoặc rất gần với điều này) http://github.com/look/fetcher/blob/master/lib/fetcher/imap.rb

Tôi đã cố gắng thay đổi để: @connection = Net :: IMAP.new (@server, @port, @ssl , nil, false)

đây là stacktrace

checking emails on: Tue Aug 17 20:48:01 +0000 2010 
rake aborted! 
SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A 
/usr/lib/ruby/1.8/net/imap.rb:904:in `connect' 
/usr/lib/ruby/1.8/net/imap.rb:904:in `initialize' 
/u/apps/aras/releases/20100728212439/vendor/plugins/fetcher/lib/fetcher/imap.rb:34:in `new' 
/u/apps/aras/releases/20100728212439/vendor/plugins/fetcher/lib/fetcher/imap.rb:34:in `establish_connection' 
/usr/lib/ruby/gems/1.8/gems/system_timer-1.0/lib/system_timer.rb:28:in `timeout_after' 
/u/apps/aras/releases/20100728212439/vendor/plugins/fetcher/lib/fetcher/imap.rb:33:in `establish_connection' 
/u/apps/aras/releases/20100728212439/vendor/plugins/fetcher/lib/fetcher/base.rb:31:in `fetch' 
+0

Bạn đã thử tăng giá trị timeout_call (có thể không phải là vấn đề)? Ngoài ra, tôi cho rằng bạn đã thử nghiệm kết nối với máy chủ IMAP với một ứng dụng khách IMAP khác và đã xác minh nó đã hoạt động, đúng không? – Brian

+0

Đã cố gắng tăng thời gian chờ nhưng không thành công. Haven đã thử một khách hàng khác, nhưng điều này đã làm việc trước khi họ thực hiện thay đổi trên máy chủ. – Joelio

+0

Tôi muốn kiểm tra lại với một khách hàng khác và/hoặc kiểm tra chứng chỉ để đảm bảo không có gì sai trái với nó (như tên máy chủ trên cert không khớp với tên máy chủ bạn đang kết nối). – Brian

Trả lời

1

Vâng, hóa ra nguyên nhân chính là việc trao đổi ms bị định cấu hình sai. Tôi rất thích học được nhiều hơn về lỗi ssl và cách gây rắc rối cho chúng, nhưng tôi không nhận được nhiều thông tin về điều này.

tôi đã cố gắng chỉ troublshoot này sử dụng ssl mở, FYI, bạn có thể làm: OpenSSL> s_client -connect myserver: 993

Khi nó đã bị hỏng, tôi nhận được lỗi này: LIÊN QUAN (00.000.003) 26.831: lỗi: 140790E5: SSL thói quen: SSL23_WRITE: ssl handshake thất bại: s23_lib.c: 188:

một khi chúng ta cố định tôi nhận được một cert và bắt tay nhắn, vv

Dưới đây là những gì quản trị trao đổi của tôi nói rằng ông đã làm: "Tôi vừa truy cập IMAP protoco l và đi đến tab truy cập. Sau đó, nút chứng chỉ. Từ đó tôi đã chọn thay thế chứng chỉ và chọn chứng chỉ mới. "

0

Theo documentation, bạn có thể thiết lập xác minh SSL không ai sánh kịp khi instantiating Net: IMAP

foo = Net::IMAP.new(host, port, true, nil, false) 

Bạn cũng có thể trỏ đến bản sao cục bộ của chứng chỉ CA với tùy chọn certs.

lưu ý: Tôi chưa tự mình thử nghiệm này ...

+0

Cảm ơn, đã cố gắng, điều này, vẫn còn lỗi tương tự, cảm ơn, tôi không chắc chắn nếu điều này là cùng một điều hay không. – Joelio

+0

Bạn có thể đăng mã bạn đang sử dụng không? – Brian

+0

chắc chắn, câu hỏi được cập nhật – Joelio

3

Tôi nhận được lỗi này khi cố gắng kết nối với dynamoDB với đường ray 3 bằng cách sử dụng thiết lập mặc định. Giải pháp là để thêm

config.port = 443 

đến

dynamo_db.rb

initializer

Theo văn bản này sửa chữa này là trong một chi nhánh Đã hủy của đá quý.

Các vấn đề liên quan