Máy chủ CardDAV tôi đang cố gắng kết nối để sử dụng chứng chỉ tự ký. Thật không may, tôi không thể làm bất cứ điều gì về nó.
Trong các phiên bản OS X trước, khi kết nối với máy chủ này, hệ thống hỏi tôi có muốn kết nối bằng chứng chỉ không an toàn này không. Tôi có thể chấp nhận và tiếp tục.
Khi thử điều tương tự trong phiên bản OS X hiện tại, điều này không hoạt động. Danh bạ.app chỉ hiển thị một vấn đề kết nối.
Khi nhìn vào nhật ký trong Console, tôi có thể thấy lỗi này:
02/12/15 00:55:39,637 Contacts[39186]: [CardDAVPlugin-ERROR] -getPrincipalInfo:[_controller discoverServer https://user@host:port(null)]
Error Domain=NSURLErrorDomain
Code=-1200
"An SSL error has occurred and a secure connection to the server cannot be made."
UserInfo={
_kCFStreamErrorCodeKey=-9801,
NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?
}
Không cảnh báo, không yêu cầu tiến hành dù sao.
Bây giờ tôi nghĩ rằng tôi có thể tải xuống chứng chỉ, thêm nó vào móc khóa và đặt niềm tin mặc định thành "Luôn tin tưởng".
echo -n | openssl s_client -connect host:port | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > carddav.cer
Nhận chứng chỉ, thêm nó vào móc khóa, đặt niềm tin và thử lại - bummer: Cùng một lỗi một lần nữa và vẫn không có hộp thoại xác nhận.
Bây giờ câu hỏi của tôi là: Có cách nào để cho phép Danh bạ.app kết nối với máy chủ của tôi hoặc để mang lại hộp thoại xác nhận không?
CHỈNH SỬA
Theo yêu cầu, đây là chi tiết kết nối SSL của tôi:
CONNECTED(00000003)
depth=0 CN = , O = , OU = , ST = , C = , L = , emailAddress =
verify error:num=18:self signed certificate
verify return:1
depth=0 CN = , O = , OU = , ST = , C = , L = , emailAddress =
verify return:1
---
Certificate chain
0 s:/CN=/O=/OU=/ST=/C=/L=/emailAddress=
i:/CN=/O=/OU=/ST=/C=/L=/emailAddress=
---
Server certificate
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
subject=/CN=/O=/OU=/ST=/C=/L=/emailAddress=
issuer=/CN=/O=/OU=/ST=/C=/L=/emailAddress=
---
No client certificate CA names sent
---
SSL handshake has read 1198 bytes and written 658 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : SSLv3
Cipher : AES256-SHA
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1449069604
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
DONE
openssl s_client -connect host:port