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 -CApathtù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 -CAfiletù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 Trustcử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_clientkhô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.