2013-02-19 32 views
8

Ứng dụng của tôi yêu cầu xác thực ứng dụng khách cho một URL cụ thể, sau khi xác thực ứng dụng khách thành công cũng thực hiện một số xác minh về chủ đề chứng chỉ ứng dụng khách (sử dụng bộ lọc bảo mật mùa xuân x509). Tôi muốn cấu hình tomcat để buộc khách hàng xác thực (clientAuth = true) cho URL cụ thể, nhưng dựa trên bài đăng này có vẻ như tôi không thể làm điều này chỉ bằng cách sử dụng tomcat - configure tomcat for client authentication only for specific URL patterns.xác thực ứng dụng khách tomcat bằng ứng dụng clientAuth = muốn

Câu hỏi của tôi là, nếu tôi sử dụng clientAuth = muốn, sau đây sẽ là như sau khi máy chủ yêu cầu chứng chỉ:

  1. Nếu thiết bị có chứng chỉ nhận dạng nhưng không đáng tin cậy bởi CA cấu hình trong tomcat truststoreFile , không có chứng chỉ nào sẽ được chuyển và yêu cầu sẽ không thành công trong bộ lọc bảo mật mùa xuân (chứng chỉ sẽ là rỗng)
  2. Nếu thiết bị có chứng chỉ nhận dạng được CA cấu hình trong tomcat truststoreFile, nhưng không hợp lệ (không chắc chắn việc xác thực được thực hiện là gì)) hoặc hết hạn, hoặc xác thực sẽ thất bại trong tomcat (trước bộ lọc bảo mật) hoặc như trong tùy chọn 1 không có chứng chỉ nào sẽ được chuyển qua d yêu cầu sẽ thất bại trong bộ lọc bảo mật mùa xuân (chứng chỉ sẽ là rỗng)

Có lỗ hổng bảo mật nào tôi có thể bị thiếu bằng cách sử dụng cấu hình muốn + bộ lọc bảo mật này không? Tôi đoán câu hỏi là - nếu chứng chỉ cuối cùng được chuyển từ thiết bị đến máy chủ, máy chủ sẽ luôn xác thực nó (không hết hạn, đáng tin cậy, v.v.) ngay cả khi sử dụng clientAuth = muốn và sẽ không cho phép khách hàng tiếp tục nếu chứng chỉ là không hợp lệ? Trường hợp không có chứng chỉ nào được thông qua được bảo vệ bởi bộ lọc bảo mật sẽ kiểm tra chứng chỉ không phải là rỗng.

Cảm ơn!

Trả lời

5

Giả định của bạn ở cả 1. và 2. là chính xác. Tomcat sẽ không cho phép các chứng chỉ không đáng tin cậy hoặc không hợp lệ thông qua ứng dụng của bạn. Nếu bạn nhận được một chứng chỉ rỗng, bạn có thể giả định rằng không có chứng chỉ nào được thông qua, hoặc một chứng chỉ không đáng tin cậy/không hợp lệ đã được thông qua.

Về dự án tôi đang làm việc trên chúng tôi có cùng yêu cầu như bạn: chứng chỉ ứng dụng khách cho một số URL nhất định. Chúng tôi phát hiện ra bằng cách thử nghiệm cách "clientAuth = want" hoạt động.

+0

Cảm ơn câu trả lời – michalv82

Các vấn đề liên quan