Tôi đang cố gắng thiết lập SSL trong bản cài đặt Tomcat 6 cục bộ của mình. Đối với điều này, tôi theo quan chức này How-To làm như sau:Định dạng kho khóa không hợp lệ với SSL trong Tomcat 6
$JAVA_HOME/bin/keytool -genkey -v -keyalg RSA -alias
tomcat -keypass changeit -storepass changeit
$JAVA_HOME/bin/keytool -export -alias tomcat -storepass
changeit -file /root/server.crt
Sau đó thay đổi $ CATALINA_BASE/conf/server.xml, trong bình luận này:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/root/.keystore" keystorePass="changeit" />
Sau khi khởi động Tomcat, tôi có được điều này Ngoại lệ:
INFO: Initializing Coyote HTTP/1.1 on http-8080
30.06.2011 10:15:24 org.apache.tomcat.util.net.jsse.JSSESocketFactory getStore
SCHWERWIEGEND: Failed to load keystore type JKS with path /root/.keystore
due to Invalid keystore format
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:633)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
at java.security.KeyStore.load(KeyStore.java:1185)
Khi tôi nhìn vào keystore với keytool -list
tôi nhận được
[email protected]:~# $JAVA_HOME/bin/keytool -list
Enter key store password: changeit
Key store type: gkr
Key store provider: GNU-CRYPTO
Key store contains 1 entry(ies)
Alias name: tomcat
Creation timestamp: Donnerstag, 30. Juni 2011 - 10:13:40 MESZ
Entry type: key-entry
Certificate fingerprint (MD5): 6A:B9:...C:89:1C
Rõ ràng, các loại kho khóa khác nhau. Làm cách nào để thay đổi loại và điều này có khắc phục được sự cố của tôi không? Cảm ơn bạn!
Cảm ơn bạn rất nhiều vì câu trả lời của bạn :-) Có một số câu hỏi phụ nhỏ ^^ mà người dùng nên chạy Tomcat? Làm thế nào để biết keytool-stuff này? Đây sẽ là điều cuối cùng để suy nghĩ rằng có rất nhiều phiên bản khác nhau trên máy tính của tôi ?! Và cuối cùng: tôi đã tạo ra một .keystore và một server.crt với các lệnh được đề cập. Tomcat bắt đầu hoàn toàn, nhưng trình duyệt vẫn đề cập rằng chứng chỉ không đáng tin cậy ... Tôi sẽ tạo một tiền thưởng để cung cấp cho bạn thêm một số điểm :-) – strauberry
Để định cấu hình nhiều cài đặt Java của bạn, hãy xem [cập nhật-java-lựa chọn thay thế] (http://wiki.debian.org/Java/Sun). Có vẻ như bạn đã cài đặt Tomcat bằng gói Debian, vì vậy người dùng 'tomcat' hoặc' tomcat6' có thể đã được tạo. Có một tập lệnh '/ etc/init.d/tomcat6' sẽ bắt đầu/dừng Tomcat theo người dùng này cho bạn. '/ usr/share/doc/tomcat6/README.Debian.gz' chắc chắn sẽ có thêm thông tin về điều này. – Bruno
Về chứng chỉ máy chủ, vì nó tự ký, bạn cần phải nhập thủ công trên trình duyệt bạn đang sử dụng: thêm ngoại lệ bằng tay (bạn có thể xác minh nó khớp với '.crt' bạn đã phát hành: bạn có thể xem xét nó sử dụng 'openssl x509 -text -noout -in server.crt' chẳng hạn), hoặc nhập trực tiếp tập tin' server.crt' vào trình duyệt của bạn. – Bruno