2012-07-03 23 views
12

Tự hỏi nếu ai đó có thể khai sáng cho tôi về nơi im vặn điều này lên! Tôi có một keytool tạo keystore, một primary, secondary và ssl cert từ Thawte. Ban đầu tôi đã tạo CSR với openssl sau đó sử dụng quy trình được chuyển đổi tài liệu đã chuyển khóa riêng sang PKCS12 để nhập vào kho khóa.Chứng chỉ SSL trên Tomcat - Tên bí danh không xác định khóa

Tôi tin rằng tôi đã nhập khẩu tất cả chúng vào ok keystore (nhưng rõ ràng là không!) Nhưng lỗi tôi nhận được từ Tomcat là: 'tên java.io.IOException Bí danh không xác định một mục quan trọng

Nếu tôi làm một keytool -list -keystore keystore.ks đây là những gì tôi nhận được loại keystore: JKS cung cấp keystore: SUN

keystore của bạn có chứa 4 mục

secondary, Jun 22, 2012, trustedCertEntry, 
Certificate fingerprint (MD5): EB:A3:71:66:38:5E:3E:F4:24:64:ED:97:52:E9:9F:1B 
tomcat, Jun 22, 2012, trustedCertEntry, 
Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0 
primary, Jun 22, 2012, trustedCertEntry, 
Certificate fingerprint (MD5): D6:6A:92:1C:83:BF:A2:AE:6F:99:5B:44:E7:C2:AB:2A 
1, Jul 2, 2012, PrivateKeyEntry, 
Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0 

tôi khá chắc chắn server.xml Tomcat của tôi là ok nhưng tại đây cũng vậy đối với trình kết nối https:

<Connector port="443" 
    protocol="org.apache.coyote.http11.Http11Protocol" 
    maxHttpHeaderSize="8192" 
    SSLEnabled="true" 
    maxThreads="150" 
    minSpareThreads="25" 
    maxSpareThreads="75" 
    enableLookups="false" 
    disableUploadTimeout="true" 
    acceptCount="100" 
    scheme="https" 
    secure="true" 
    clientAuth="false" 
    sslProtocol="TLS" 
    URIEncoding="UTF-8" 
    keystorePass="xxxxxx" 
    keystoreFile="/keys/keystore.ks" 
    keyAlias="tomcat"/> 

Bất kỳ ý tưởng nào? Đây là lần đầu tiên tôi đã làm điều này vì vậy có lẽ ive messed lên một cái gì đó blindingly rõ ràng?

trang web hoạt động tốt trên cổng 80.

rất thích nghe một số gợi ý :)

Trả lời

15

Khi bạn liệt kê alias với keytool, tên bí danh là những gì trước dấu phẩy cho mỗi mục. Tại đây, bạn có 4 mục nhập: secondary, tomcat, primary1. Chỉ có bí danh 1 là dành cho khóa riêng tư.

(Lưu ý rằng bạn có thể sử dụng một tập tin PKCS # 12 trực tiếp sử dụng keystoreType="PKCS12" thay thế.)

+0

Ahh ok, tôi hiểu ý của bạn là gì. Đây là lần đầu tiên tôi thực hiện SSL, bạn không thể có bí danh trùng lặp 'trong kho khóa, vì vậy nếu' tomcat 'là chứng chỉ ssl được cung cấp bởi Thawte, tôi muốn đặt tên khóa riêng đi kèm với nó là gì? Và cái nào là server.xml có nghĩa là trỏ tới? Cảm ơn sự giúp đỡ của bạn, tôi đã được kéo tóc của tôi trong này. – G33kGrl

+0

Tiến trình nhẹ - đặt server.xml để sử dụng bí danh 1 (khóa riêng) và bây giờ ít nhất trình kết nối mở cổng đó một cách chính xác. Tuy nhiên im nhận được một chứng chỉ lỗi "chứng chỉ không đáng tin cậy vì không có chuỗi phát hành được cung cấp" ... cốt truyện dày đặc ... – G33kGrl

+2

Khi bạn nhập chứng chỉ, bạn nên nhập nó vào bí danh khóa riêng (đã có trong kho khóa), như được mô tả [ở đây] (http://stackoverflow.com/a/9300727/372643). Điều này đang được nói, có vẻ như bạn đã có tệp PKCS # 12 được tạo bằng cert đó, vì vậy bạn có thể sử dụng nó trực tiếp. Dường như bạn có thể chưa xây dựng tệp PKCS # 12 một cách chính xác (bạn đã sử dụng khóa riêng tư mà bạn sử dụng cho yêu cầu chưa?). Bạn đã làm theo hướng dẫn nào? – Bruno

0

tôi thấy this page đặc biệt hữu ích .. tình hình của tôi xuất thân từ một cert GeoTrust cung cấp bởi domain.com nơi tôi chỉ có hai tập tin : một văn bản dựa trên cert (x509) và một khóa riêng dựa trên văn bản. Những hướng dẫn này và tệp lớp chuyển đổi hoạt động như một sự quyến rũ.

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