2017-11-06 21 views
5

Tôi tring để tạo ra một keystore được sử dụng trong tomcat nhưng tôi nhận được lỗi "java.util.IllegalFormatConversionException: d! = Java.lang.String" bằng cách sử dụng keytool. Điều này xảy ra chỉ trong linux (centos7) nhưng không phải trong cửa sổ. tôi đã tạo keystore vớikeytool nhập khẩu giấy chứng nhận java.util.IllegalFormatConversionException trong linux

keytool -genkey -keyalg RSA -alias client -keystore testkeystore -storepass mypassword -validity 3650 

và cố gắng nhập khẩu giấy chứng nhận với

keytool -import -alias arubaauth -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer 

Các lệnh tương tự và cùng một chứng chỉ không hiển thị bất kỳ lỗi trong cửa sổ.

Điều gì là sai?

Cảm ơn trước

+0

Kiểm tra câu trả lời cập nhật của tôi. Điều đó giải quyết được vấn đề trong trường hợp của tôi. – gbaccetta

+0

Xong. Điều đó đã giải quyết được tôi. Cảm ơn – user2959635

Trả lời

27

Tôi nghĩ rằng vấn đề xuất phát từ phiên bản Keytool trong Java 8,151 và Java 9. Các phiên bản cũ đang làm việc một cách chính xác đối với tôi. Hãy thử hạ cấp môi trường JDK của bạn

EDIT: điều tra thêm khiến tôi nhận ra sự cố trên các phiên bản java cuối cùng chỉ xảy ra đối với một số ngôn ngữ. Do đó nó là đủ để buộc ngôn ngữ đầu ra của keytool bằng tiếng Anh để giải quyết vấn đề bằng cách thêm tham số -J-Duser.language=en.

Có thể ngôn ngữ mặc định tomcat khác với tiếng Anh. thử chạy lệnh này:

keytool -J-Duser.language=en -import -alias arubaauth -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer 
+1

Bạn đã lưu ngày của tôi! vấn đề của tôi là với ngôn ngữ, tôi đang sử dụng Java 8 và khi tôi buộc tiếng Anh phím SHA1 được in ra bình thường. –

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