Tóm tắt điều hành: làm cách nào để cài đặt chứng chỉ gốc mới vào Java bằng mã Java?Làm cách nào để nhập chứng chỉ Java CA mới mà không sử dụng tiện ích dòng lệnh keytool?
Chúng tôi có ứng dụng dành cho máy tính để bàn truy cập các dịch vụ web khác nhau. Gần đây, một trong số họ đã chuyển chứng chỉ SSL của họ thành chứng chỉ do Trustwave ký. Trong khi các chứng chỉ Trustwave SSL được chấp nhận bởi các trình duyệt internet thường xuyên, Java dường như không đi kèm với chứng chỉ gốc điều kiện tiên quyết, và chúng tôi bị mất quyền truy cập vào các dịch vụ web nhất định với các thông báo lỗi sau:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Chúng tôi đã nhận tạm thời reprieve bằng cách thuyết phục các nhà cung cấp để chuyển trở lại Verisign nhưng khi họ chuyển trở lại chúng ta phải sẵn sàng. Vì vậy, tôi cần phần mềm máy tính để bàn của chúng tôi để tự động cài đặt chứng chỉ gốc Trustwave khi cần thiết. Khách hàng của chúng tôi không đủ hiểu biết để sử dụng lệnh keytool và tôi không muốn viết kịch bản vì nó làm cho tôi trở thành một giải pháp dễ vỡ (triển khai riêng cho Mac và PC). , v.v.)
Tôi tưởng tượng keytool sử dụng Java trong nội bộ. Tôi có thể sử dụng lệnh nào trong Java để tái tạo chức năng của keytool và cài đặt chứng chỉ gốc theo chương trình?
Điều đó có thể phù hợp với chúng tôi. Liên kết gợi ý một cách để hoàn toàn vô hiệu hóa xác minh mà không phải là những gì chúng tôi muốn chính xác nhưng có lẽ tôi có thể sublcass TrustManager bình thường để làm cho một trong đó cố gắng tất cả các chứng chỉ gốc thường xuyên cộng với một. Cảm ơn, điều này có vẻ đầy hứa hẹn. –