2010-10-14 27 views
9

Tôi đang chạy một ứng dụng trên máy chủ tomcat 6 độc lập trên hộp Windows. Tôi muốn nó có thể yêu cầu và nhận chứng chỉ ứng dụng khách từ thẻ DoD CAC.Định cấu hình Tomcat để chấp nhận chứng chỉ thẻ CAC DOD

Tôi có một máy khách chạy IE đã thiết lập chính xác để chuyển chứng chỉ từ thẻ CAC, tôi biết chính xác vì khi tôi truy cập trang web đã bật CAC, IE bật lên cửa sổ yêu cầu tôi chọn chứng chỉ và cửa sổ đó tôi thấy certs từ thẻ CAC của tôi.

Tôi có cấu hình tomcat để yêu cầu chứng chỉ từ người dùng và khi tôi điều hướng đến trang web đang chạy trên tomcat, tôi thấy cùng một lời nhắc của IE yêu cầu tôi chọn chứng chỉ của mình, tuy nhiên khi tôi xem trang web của mình danh sách chứng chỉ trống. Trong tệp tin server.xml của tôi, tôi đã định cấu hình trình kết nối của mình như sau:

<Connector port="8443" 
      protocol="HTTP/1.1" 
      SSLEnabled="true" 
      maxThreads="150" 
      scheme="https" 
      secure="true" 
      keystoreFile="<myKeysotre>" 
      keystorePass="<myPassword>" 
      clientAuth="want" 
      sslProtocol="TLS" /> 

Nơi tôi nghĩ rằng tôi đang điều chỉnh trong quá trình tạo tệp lưu trữ khóa. Ngay bây giờ tôi đã tạo ra nó bằng cách sử dụng java keytool lệnh một cái gì đó như thế này:

keytool -genkey -alias -keypass mypassword -keystore myKeystore -storepass mypassword

tôi đang làm phát triển bây giờ và tôi đang tìm kiếm một cách để có được chứng chỉ khách hàng từ thẻ CAC đến ứng dụng của tôi nhưng tôi thiếu một thứ gì đó. Tôi không quen với cách thức hoạt động của nó nên tôi có thể sử dụng một số trợ giúp/hướng dẫn.

Cảm ơn

+0

được bây giờ bạn làm gì với giấy chứng nhận? Tôi cho rằng bạn muốn biến chúng thành tên người dùng bằng cách nào đó? – Rob

Trả lời

10

Sau khi một chút tóc kéo ở đây là những gì tôi phát hiện ra. Lý do nhắc nhở IE yêu cầu tôi chọn chứng chỉ của tôi là trống vì chứng chỉ khách hàng (certs trên thẻ CAC) không được phát hành bởi bất kỳ CA nào trong thư mục gốc đáng tin cậy trên máy chủ tomcat của tôi.

Điều tôi cần làm là thêm chứng chỉ CA gốc vào kho tin tomcat của tôi. Tôi mất một thời gian để tìm ra cách để có được các certs. Điều tôi đã làm là truy cập trang web http://dodpki.c3pki.chamb.disa.mil/rootca.html và tải xuống chứng chỉ gốc (tệp .cac đến) rồi nhập các tệp đó vào IE (Tools-> Inernet Options-> Content-> Certificates). Sau đó, một lần nữa từ công cụ chứng IE) Tôi xuất khẩu các Certs gốc như file X509 và tạo ra một cửa hàng tin tưởng để chứa chúng:

keytool -storepass somePassword -import -alias DoDClass3RootCA -keystore my.truststore -trustcacerts -file exports\DoDClass3RootCA.cer 

Khi cửa hàng đã được tạo ra để cập nhật các yếu tố kết nối trong file server.xml để bao gồm mà cửa hàng tin tưởng:

<Connector port="8443" 
      protocol="HTTP/1.1" 
      SSLEnabled="true" 
      maxThreads="150" 
      scheme="https" 
      secure="true" 
      truststoreFile="my.truststore" 
      truststorePass="somePassword" 
      … /> 

Sau khi làm điều đó và khởi động lại tomcat giấy chứng nhận CAC thẻ xuất hiện đối với tôi

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