Java chắc chắn có thể thiết lập kết nối SSL mà không cần máy khách xác thực chuỗi chứng chỉ của máy chủ.
Các lớp đang thiết lập kết nối (các lớp javax.net.ssl) thường sẽ xử lý chứng chỉ máy chủ chưa được xác minh một cách đáng ngờ và sẽ không bắt tay được.
Nhưng chúng cung cấp một cách để người dùng của các lớp đó có hiệu lực nói rằng "Sẽ ổn nếu chứng chỉ của máy chủ không xác thực, hãy tiếp tục và thiết lập kết nối".
Đó là những gì đang xảy ra khi bạn nói verifyServerCertificate =false.
Kết nối SSL hoàn toàn hợp lệ từ góc độ mật mã nhưng nó không phải là kết nối được xác thực vì bạn không biết nguồn của chứng chỉ máy chủ là gì.