Tôi đã tạo chứng chỉ tự ký cho ứng dụng Java của mình bằng cách sử dụng keytool. Tuy nhiên, khi tôi truy cập trang web trong trình duyệt, nó luôn xuất hiện với cảnh báo - cho biết trang web này không sở hữu chứng chỉ - có cách tự ký/bác sĩ chứng chỉ để tôi không nhận được các cảnh báo này trong trình duyệt? Cả máy chủ và trình duyệt đều nằm trên cùng một máy chủ và tôi điều hướng đến trang web bằng cách sử dụng "http://localhost/". Tôi không muốn thêm một ngoại lệ cho trình duyệt bởi vì tôi có các thử nghiệm chạy trên một trang trại xây dựng lớn vì vậy nó là quá nhiều để thêm một ngoại lệ cho tất cả các trình duyệt trên tất cả các máy xây dựng.Tôi có thể tạo chứng chỉ tự ký bằng Java sẽ tự động được trình duyệt web tin cậy không?
Trả lời
Bạn cũng có thể thiết lập Tổ chức phát hành chứng chỉ tự ký (CA) sử dụng OpenSSL hoặc có thể là công cụ Java của bạn. Sau đó, bạn có thể sử dụng CA đó để ký một số chứng chỉ máy chủ. Bạn vẫn cần phải tự tin cậy CA đã ký của bạn trên tất cả các máy khách truy cập vào máy chủ thử nghiệm của bạn, nhưng ít nhất bạn chỉ phải tin cậy một CA gốc, chứ không phải là một loạt các chứng chỉ máy chủ tự ký riêng lẻ. .
Một tùy chọn khác là kiểm tra CAcert.
Không, bạn không thể. Bạn cũng có thể hỏi "Làm cách nào tôi có thể tạo chứng chỉ giả cho hsbc.com?"
Có hai cách để có được một trình duyệt để chấp nhận một chứng chỉ:
- Mua một giấy chứng nhận cho một tên miền từ một cơ quan tin cậy (có nghĩa là chứng minh quyền đó mà bạn sở hữu tên miền đó) và sau đó sử dụng tên miền là tên của máy chủ thử nghiệm của bạn
- Cài đặt chứng chỉ ký vào trình duyệt để bạn có thể trở thành cơ quan đáng tin cậy cho trình duyệt đó.
Nếu không chạm vào trình duyệt, không có cách nào khác để làm điều đó - làm thế nào có thể có, nếu internet vẫn giữ an toàn?
+1 để áp dụng thanh đầu mối mạnh mẽ :-) –
@Corehpf - bạn có muốn câu trả lời giàu trí tưởng tượng hay sự thật không? Không có cách nào để trình duyệt chấp nhận các chứng chỉ tự ký hoặc chứng chỉ được ký bởi một chứng chỉ CA không phải gốc ... ngoài việc cài đặt chúng hoặc chứng chỉ CA trong trình duyệt của bạn. –
Chứng chỉ bạn đã tạo cho localhost hoặc cho test.textbox.com phải không? Nếu bạn tạo chứng chỉ cho test.textbox.com của FQDN, đó là cách bạn cần liên hệ với máy chủ để không nhận được các lỗi đó, miễn là chứng chỉ được ký đúng cách. Bạn không thể tạo chứng chỉ cho FQDN và sau đó sử dụng IP hoặc bí danh (localhost) để truy cập chứng chỉ mà không bị cảnh báo rằng mọi thứ không khớp đúng cách. Hay tôi hiểu lầm vấn đề của bạn?
Lưu ý: Rõ ràng test.testbox.com chỉ là một ví dụ tôi đã sử dụng cho việc này. – MattC
Anh ấy đang làm chứng chỉ tự ký (nghĩa là họ không theo dõi lại bất kỳ CA nào nổi tiếng), do đó theo định nghĩa anh ấy không thể tự động chấp nhận chúng. Để có một cert được chấp nhận tự động bởi một trình duyệt, nó phải theo dõi lại một CA mà trình duyệt biết. –
Có nhưng lỗi phàn nàn rằng trang web không sở hữu chứng chỉ cho biết tên máy chủ mà chứng chỉ được tạo và bất kỳ điều gì anh ta đang sử dụng để truy cập trang web đó đều là hai thứ khác nhau. Anh ấy nói anh ấy đang sử dụng localhost và tôi cá cược cert là tên máy chủ thực sự của máy chủ. Điều đó sẽ gây ra các cờ đỏ trong hầu hết các trình duyệt như một vấn đề bảo mật. – MattC
Thay vào đó, hãy tạo chứng chỉ cho "localhost". Nó cần phải khớp với tên máy chủ bạn có trong URL.
Bạn vẫn sẽ bị làm phiền vì chứng chỉ không đáng tin cậy, nhưng đó là một vấn đề khác.
RichieHindle là chính xác. Phương pháp này sẽ không loại bỏ các cảnh báo trong trình duyệt. – shosti
Câu trả lời hay Brian – sixtyfootersdude