2010-04-09 32 views
7

Tôi đang cố định cấu hình máy chủ Tomcat với SSL. Tôi đã tạo ra một cặp khóa như sau:Nhập chứng chỉ thử nghiệm Thawte vào kho khóa Java

$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys 

Tiếp theo tôi tạo ra một yêu cầu ký giấy chứng nhận:

$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr 

Sau đó, tôi sao chép-dán nội dung của tomcat.csr vào một biểu mẫu trên trang web của Thawte, yêu cầu cho một phiên tòa Chứng chỉ SSL. Đổi lại, tôi nhận được hai chứng chỉ được phân tách bằng -----BEGIN ... -----END, mà tôi lưu dưới tomcat.crtthawte.crt. (Thawte gọi chứng chỉ thứ hai là chứng chỉ 'Thawte Test CA Root').

Khi tôi cố gắng nhập một trong hai chúng nó không thành công:

$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys 
Enter keystore password: 
keytool error: java.lang.Exception: Failed to establish chain from reply 

$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys 
Enter keystore password: 
keytool error: java.lang.Exception: Input not an X.509 certificate 

Thêm tùy chọn -trustcacerts cho một trong hai lệnh không thay đổi bất cứ điều gì cả.

Bất kỳ ý tưởng nào tôi đang làm sai ở đây?

Trả lời

14

Cuối cùng tôi đã hiểu những gì đang diễn ra ở đây. Nó chỉ ra rằng các câu trả lời mà tôi nhận được từ Thawte được định dạng là PKCS # 7, trong khi keytool mong đợi được chứng nhận ở định dạng X.509.

openssl thể được sử dụng để chuyển đổi các chứng chỉ từ một định dạng khác:

$ openssl pkcs7 -in thawtetest.crt -print_certs | 
    openssl x509 > thawtetest.x509 

Bây giờ bạn có thể nhập thawtetest.x509 với keytool, và tomcat.crt ngay đằng sau nó.

+0

Cảm ơn ... Bạn sẽ nghĩ rằng họ sẽ đề cập đến điều này trong e-mail ... Kể từ khi một trung gian (cũng trong e-mail) là x509! –

0

Bạn sẽ có thể nhập chuỗi PKCS # 7 bằng cách sử dụng công cụ khóa, miễn là bạn đang sử dụng phiên bản mới hơn. Việc xuất các chứng chỉ vào các tệp riêng biệt cũng sẽ hoạt động, nhưng nếu bạn đang chạy phiên bản keytool gần đây, sẽ không có vấn đề gì khi nhập tệp PKCS # 7.

0

Gặp phải sự cố tương tự mà tôi đã tìm thấy this post đã giúp tôi. Tôi đặt chứng chỉ dùng thử mà tôi nhận được vào một tệp và sử dụng keytool để nhập chắc chắn ALIAS (keytool -alias param) mà tôi đã sử dụng khác (tức là không phải cùng một bí danh mà tôi đã sử dụng khi tạo chứng chỉ cho yêu cầu). Đó là một thông báo lỗi kỳ lạ cho nó đơn giản là không giống như bạn đang cố gắng nhập khẩu vào cùng một bí danh.

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