Kể từ khi nhà cung cấp email của chúng tôi thay đổi chứng chỉ SSL, khách hàng POP3 dựa trên đơn từ chối kết nối với máy chủ POP an toàn của họ để tải xuống email. Các khách hàng khác không có vấn đề gì; ví dụ Thunderbird và Outlook; không phải hầu hết các trang web kiểm tra SSL có khả năng kiểm tra các cổng lẻ ngoại trừ cổng này . Tôi đã làm việc với cả hai nhà cung cấp trong nỗ lực xác định vấn đề, nhưng cuối cùng đã đi đến ngõ cụt với cả hai, vì tôi không biết đủ về Chứng chỉ SSL để có thể hướng dẫn nhà cung cấp hiểu lỗi nằm ở đâu.
Trong quá trình điều tra, tôi đã chú ý đến sự khác biệt về đầu ra của hai lệnh sau (Tôi đã xóa chứng chỉ khỏi đầu ra để dễ đọc):
echo "" | openssl s_client -showcerts -connect pop.gmail.com:995
KẾT NỐI (00000003) độ sâu = 2 / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA xác minh lỗi: num = 20: không thể lấy chứng chỉ nhà phát hành địa phương xác minh trả lại: 0 --- Chuỗi chứng chỉ 0 s: / C = US / ST = California / L = Mountain View / O = Google Inc / CN = pop.gmail.com i: / C = US / O = Google Inc / CN = Google Internet Agency G2 ----- BEGIN CHỨNG NHẬN ----- ----- GIẤY CHỨNG NHẬN ----- 1 s: / C = US / O = Google Inc / CN = Google Internet Agency G2 i: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA ----- BEGIN CHỨNG NHẬN ----- ----- GIẤY CHỨNG NHẬN ----- 2 s: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA i: / C = US / O = Equachus / OU = Cơ quan chứng nhận bảo mật Equachus ----- BEGIN CHỨNG NHẬN ----- ----- GIẤY CHỨNG NHẬN ----- --- Chứng chỉ máy chủ chủ đề = / C = US / ST = California / L = Mountain View / O = Google Inc / CN = pop.gmail.com nhà phát hành = / C = US / O = Google Inc / CN = Google Internet Agency G2 --- Không có tên CA chứng chỉ khách hàng được gửi --- Bắt tay SSL đã đọc 3236 byte và viết 435 byte --- Mới, TLSv1 / SSLv3, Mật mã là RC4-SHA Khóa công khai của máy chủ là 2048 bit Tái tạo an toàn IS được hỗ trợ Nén: KHÔNG Mở rộng: KHÔNG Phiên SSL: Giao thức: TLSv1 Mật mã: RC4-SHA ID phiên: 745F84194498529B91B7D9194363CBBD23425446CF2BFF3BF5557E3C6606CA06 Phiên-ID-ctx: Khóa chính Key-Arg: Không có Thời gian bắt đầu: 1397678434 Thời gian chờ: 300 (giây) Xác minh mã trả lại: 20 (không thể lấy chứng chỉ nhà phát hành địa phương) --- + OK Gpop sẵn sàng cho các yêu cầu từ 69.3.61.10 c13mb42148040pdj LÀM XONG
echo "" | openssl s_client -showcerts -connect secure.emailsrvr.com:995
KẾT NỐI (00000003) độ sâu = 2 / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA xác minh lỗi: num = 19: chứng chỉ tự ký trong chuỗi chứng chỉ xác minh trả lại: 0 --- Chuỗi chứng chỉ 0 s: / serialNumber = tG0GnsyAUkdX7DEo15ylNBjQJqAWZ / dD / OU = 4159320284 / OU = Xem www.rapidssl.com/resource/cps (c) 14 / OU = Kiểm soát tên miền được xác thực - RapidSSL (R) i: / C = US / O = GeoTrust, Inc./CN=RapidSSL CA ----- BEGIN CHỨNG NHẬN ----- ----- GIẤY CHỨNG NHẬN ----- 1 s: / C = US / O = GeoTrust, Inc./CN=RapidSSL CA i: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA ----- BEGIN CHỨNG NHẬN ----- ----- GIẤY CHỨNG NHẬN ----- 2 s: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA i: / C = US / O = GeoTrust Inc./CN=GeoTrust Toàn cầu CA ----- BEGIN CHỨNG NHẬN ----- ----- GIẤY CHỨNG NHẬN ----- --- Chứng chỉ máy chủ chủ đề = / serialNumber = tG0GnsyAUkdX7DEo15ylNBjQJqAWZ / dD / OU = 4159320284 / OU = Xem www.rapidssl.com/resource/cps (c) 14 / OU = Kiểm soát tên miền được xác thực - RapidSSL (R) tổ chức phát hành = / C = US / O = GeoTrust, Inc./CN=RapidSSL CA --- Không có tên CA chứng chỉ khách hàng được gửi --- Bắt tay SSL đã đọc 3876 byte và viết 319 byte --- Mới, TLSv1 / SSLv3, Mật mã là DHE-RSA-AES256-SHA Khóa công khai của máy chủ là 2048 bit Tái tạo an toàn IS được hỗ trợ Nén: KHÔNG Mở rộng: KHÔNG Phiên SSL: Giao thức: TLSv1 Mật mã: DHE-RSA-AES256-SHA ID phiên: 3F4EE3992B46727BE2C7C3E76A9A6A8D64D66EE843CB1BB17A76AE2E030C7161 Phiên-ID-ctx: Khóa chính Key-Arg: Không có Thời gian bắt đầu: 1397678467 Thời gian chờ: 300 (giây) Xác nhận mã trả về: 19 (chứng chỉ tự ký trong chuỗi chứng chỉ) --- LÀM XONG
Tôi đã cố gắng để hiểu nếu điều này có ý nghĩa, bởi vì khi -CApath
tùy chọn được cung cấp, các lệnh không tạo ra bất kỳ lỗi nào:
openssl s_client -CApath /etc/ssl/certs -showcerts -connect secure.emailsrvr.com:995
CONNECTED(00000003)
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = "GeoTrust, Inc.", CN = RapidSSL CA
verify return:1
depth=0 serialNumber = tG0GnsyAUkdX7DEo15ylNBjQJqAWZ/dD, OU = 4159320284, OU = See www.rapidssl.com/resources/cps (c)14, OU = Domain Control Validated - RapidSSL(R), CN = secure.emailsrvr.com
verify return:1
...
openssl s_client -CApath /etc/ssl/certs -showcerts -connect pop.gmail.com:995
CONNECTED(00000003)
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = pop.gmail.com
verify return:1
...
Tôi cũng có thể sử dụng -CAfile
tùy chọn thành công sau khi tải xuống chứng chỉ CAfile trực tiếp từ GeoTrust.
Tuy nhiên, Fog Creek dường như nghĩ rằng vấn đề nằm ở chứng chỉ, bởi vì họ đã thử thêm chứng chỉ vào Trust
cửa hàng của mono mà không thành công. Tôi sẽ không đồng ý với họ, nhưng (như đã đề cập ở trên) trong khi hầu hết người kiểm tra SSL không kiểm tra cổng 995 hoặc thành công trong quá trình thử, tôi thấy trang này tạo ra lỗi SSL 7.
Tôi có giải thích đầu ra chính xác để có nghĩa là không có gì sai với chứng chỉ không?
openssl s_client
không nhập bất kỳ certs gốc nào theo mặc định. Thay vào đó openssl s_client -connect secure.emailsrvr.com:995 -showcerts -CApath /etc/ssl/certs
, hãy thử điều này: và có thể bạn sẽ thấy rằng lỗi tự ký biến mất.