Chứng chỉ số: Làm cách nào để nhập tệp .cer vào tệp .truststore bằng cách sử dụng?


89

Có ai đã xem qua nơi họ phải xử lý tệp .truststore không? và biết cách nhập .cer vào tệp .truststore?

Tôi không chắc liệu mình có phải sử dụng lệnh Java Keytool hay Linux (chẳng hạn như lệnh openssl) hay không.

Cảm ơn

Câu trả lời:


196
# Copy the certificate into the directory Java_home\Jre\Lib\Security
# Change your directory to Java_home\Jre\Lib\Security>
# Import the certificate to a trust store.

keytool -import -alias ca -file somecert.cer -keystore cacerts -storepass changeit [Return]

Trust this certificate: [Yes]

changeit là mật khẩu cửa hàng tin cậy mặc định


bất kỳ một bí quyết làm thế nào để làm trong openssl
Balamurugan

8
Lệnh này cho phép bạn tải chứng chỉ xuống tên tệp và certfile.txt: openssl s_client -connect HOSTNAME: PORTNUM 2> & 1 | sed -ne '/ -BEGIN CERTIFICATE - /, / - END CERTIFICATE- / p'> certfile.txt --- Sau đó, sử dụng keytool để nhập nó vào cửa hàng tin cậy của bạn
Christian Achilli

2
Bạn có thể tải xuống chứng chỉ của bất kỳ trang web bảo mật SSL nào trong trình duyệt của mình. Trong FireFox, chỉ cần nhấp vào biểu tượng ổ khóa trong trường địa chỉ URL.
BetaRide

nếu bạn có tệp "jssecacerts", hãy sử dụng "-keystore jssecacerts" để thay thế. "cacerts" bị bỏ qua
kommradHomer

23

Thay vì sử dụng sedđể lọc ra chứng chỉ, bạn cũng có thể chuyển openssl s_clientđầu ra qua openssl x509 -out certfile.txt, ví dụ:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt

Câu trả lời này nhằm mục đích cải thiện nhận xét của Christian về câu trả lời được chấp nhận về việc tải xuống chứng chỉ. Có lẽ lẽ ra phải là một bình luận.
jbuhacoff

8

Cách bạn nhập tệp .cer vào cửa hàng tin cậy cũng giống như cách bạn nhập tệp .crt từ ví dụ xuất từ ​​Firefox.

Bạn không cần phải đặt bí danh và mật khẩu của kho khóa, bạn chỉ cần nhập:

keytool -v -import -file somefile.crt  -alias somecrt -keystore my-cacerts

Tốt hơn là sử dụng tệp cacerts đã có trong cài đặt Java của bạn (jre \ lib \ security \ cacerts) vì nó chứa các chứng chỉ "phổ biến" an toàn.

Cập nhật về sự khác biệt của cer và crt (chỉ cần làm rõ) Theo Apache với SSL - Làm thế nào để chuyển đổi chứng chỉ CER sang CRT? và người dùng @Spawnrider

CER là chứng chỉ X.509 ở dạng nhị phân, được mã hóa DER.
CRT là chứng chỉ X.509 nhị phân, được đóng gói trong mã hóa văn bản (base-64).
Nó không phải là mã hóa giống nhau.


1
Tất cả điều này có nghĩa là bạn đã xuất tệp với một tên hơi khác. Nó không thay đổi tệp, câu hỏi hoặc câu trả lời. Việc chỉ định bí danh là điều khôn ngoan: nếu không, bạn có nguy cơ ghi đè một lần nhập trước đó.
Marquis of Lorne,

.Crt và .cer có định dạng nào không? Phần mở rộng không đóng vai trò gì trong các chứng chỉ? Điểm tốt về bí danh.
Andreas Panagiotidis

1
Tôi trả lời câu hỏi của mình: Có, crt và cer có cùng định dạng. Điều tương tự. Bạn có thể nhập cả hai trong cửa hàng tin cậy.
Andreas Panagiotidis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.