Có chứng chỉ web được bảo vệ bởi chứng chỉ. Trong mã máy khách gọi nó, CA của chứng chỉ phải xuất hiện trong truststore (JRE_path \ lib \ security \ cacerts) - nếu không, bạn sẽ nhận được ngoại lệ PKIX ở phía máy khách.Tin tưởng vào chứng chỉ tự ký đã hết hạn trong khi gọi một webservice
Điều gì xảy ra nếu chứng chỉ đã hết hạn - mã khách hàng không thành công.
Tuy nhiên, điều này có thể được bỏ qua bằng cách thêm giấy chứng nhận trực tiếp vào truststore - Trusting an expired certificate
Ví dụ: nếu giấy chứng nhận riêng của mình và không phải là CA có mặt trong truststore, sau đó mọi thứ hoạt động ngay cả khi chứng chỉ đã hết hạn.
Trong trường hợp của tôi, chứng chỉ webservice là một chứng chỉ tự ký, vì vậy tôi vẫn phải thêm nó vào truststore và máy khách tiếp tục hoạt động tốt ngay cả khi chứng chỉ đã hết hạn.
Bây giờ câu hỏi của tôi sẽ làm việc này trong mọi tình huống - chương trình của tôi chỉ là một chương trình dòng lệnh chạy của một JRE cục bộ.
Trong trường hợp có ứng dụng gọi webservice và ứng dụng đang chạy trên Websphere, JBoss, WebLogic, Tomcat, Glassfish vv và cert tự ký được thêm vào truststore của môi trường đó, tôi vẫn có thể giả định rằng nó sẽ tiếp tục để làm việc (không cung cấp lỗi đã hết hạn)?
Tôi cho rằng nó sẽ hoạt động - bởi vì các máy chủ ứng dụng đó cũng sẽ sử dụng JRE giống như bất kỳ chương trình nào - hoặc tôi thiếu gì đó?
Nếu bạn không muốn nó an toàn, không sử dụng HTTPS. Nếu bạn muốn nó an toàn, đừng cố gắng chọn lựa các tính năng bảo mật của riêng bạn. – EJP
như @EJP cho biết: thường không phải là một ý tưởng tốt để làm suy yếu an ninh. Nhưng thường thì chúng tôi là những người lập trình cũng phải ngăn không cho các ứng dụng bị mất âm thầm. Vì vậy, bạn nên đảm bảo rằng nếu chương trình không thành công sẽ trở nên rõ ràng đối với bất kỳ quản trị viên nào đang xem xét vấn đề này hoặc bạn có thể cố gắng nắm bắt các ngoại lệ xảy ra từ các chứng chỉ đã hết hạn hoặc bắt buộc từ bên trong mã của bạn mà chứng chỉ được chấp nhận: http: // stackoverflow.com/questions/6659360/how-to-solve-javax-net-ssl-sslhandshakeexception-error – Marged
Nếu bạn có lệnh openssl trên môi trường của bạn (cài đặt nó). bạn có thể sử dụng nó làm ứng dụng nền cmd nền với [kiểm tra ngày tháng] (http://stackoverflow.com/questions/21297853/how-to-determine-ssl-cert-expiration-date-from-a-pem-encoded-certificate # answer-21297927) và đọc kết quả –