Tôi có một số tài nguyên tôi phải truy cập bằng SSL sử dụng chứng chỉ tự ký. Nói chung, hầu hết các công cụ đều có cài đặt đơn giản để cho phép chúng được truy cập mà không có lỗi hoặc chỉ là cảnh báo. Tuy nhiên, có vẻ như cách thích hợp để thực hiện việc này với JVM là nhập chứng chỉ ký vào một kho khóa như là một CA.Làm thế nào để sử dụng SSL với chứng chỉ tự ký trong groovy?
Tôi có một tập lệnh groovy tôi muốn sử dụng, nhưng tôi muốn tập lệnh của tôi hoạt động độc lập trên bất kỳ JVM nào mà không sửa đổi kho khóa hoặc phân phối kho khóa mới. Có cách nào đơn giản để ghi đè xác minh chứng nhận không?
Nói chung, hvgotcodes là một giải pháp tốt hơn. Mileage của bạn có thể thay đổi, tất nhiên. Vấn đề với giải pháp của bạn là tất cả các máy chủ bây giờ là hợp lệ thay vì chỉ là số ít bạn thực sự có ý định để cho qua. Nếu mã của bạn được kiểm soát chặt chẽ và bạn chắc chắn rằng bạn sẽ chỉ kết nối với các nguồn "đáng tin cậy", bạn sẽ ổn. Tuy nhiên, bạn có thể dễ bị tổn thương do nhầm lẫn DNS và bất kỳ số lượng sự cố nào khác mà từ đó bạn sẽ được bảo vệ nếu bạn nhập chứng chỉ của mình vào một cửa hàng tin cậy. Bạn cũng có thể đặt thuộc tính javax.net.ssl.trustStore tại thời gian chạy, nếu bạn có hành vi năng động hơn. –
Nói chung, tôi đồng ý. Nhưng có một số bối cảnh kịch bản nhất định, ở đó rất hay để bỏ qua việc quản lý chứng chỉ hoàn toàn; ví dụ, nơi các máy chủ thử nghiệm được tạo động và các kho khóa của khách hàng sẽ phải được giữ liên tục đồng bộ. Cũng cần lưu ý rằng các ngôn ngữ động khác như ruby và python làm cho cài đặt cấu hình này đơn giản và không thực thi chuỗi chứng chỉ theo mặc định, tương ứng. – ataylor
Chỉ cần đặt chữ in đậm này cho người đọc sao chép/dán mà không xem qua nhận xét của @ BrianM.Carr: ** giải pháp này vô hiệu hóa các bước xác minh chứng chỉ hoàn toàn, do đó làm cho kết nối có khả năng dễ bị tấn công MITM **. – Bruno