Làm cách nào để nhập nhiều chứng chỉ trong một tệp với keytool [thành cert store]?keytool nhập nhiều chứng chỉ trong một tệp
keytool -importcert chỉ nhập tệp đầu tiên.
Làm cách nào để nhập nhiều chứng chỉ trong một tệp với keytool [thành cert store]?keytool nhập nhiều chứng chỉ trong một tệp
keytool -importcert chỉ nhập tệp đầu tiên.
Nếu bạn muốn bao gồm chứng chỉ CA, bạn nên thêm tùy chọn -trustcacerts
.
Nếu bạn có nhiều chuỗi chứng chỉ trong một tệp PEM, bạn sẽ phải split the file.
tôi muốn làm điều tương tự, nhưng dường như nó chỉ có thể nếu bạn đang nhập chính cũng như:
Có hai loại mục chính entries- và các mục cert tin cậy, và chỉ mục nhập quan trọng có thể chứa "chuỗi" chứng chỉ, đính kèm vào đó. Các mục cert đáng tin cậy là tất cả các mục cert duy nhất.
(https://www.java.net/node/674524#comment-709695)
Tôi thậm chí đã cố gắng converting to PKCS#7 format first, nhưng nó đã không làm việc, hoặc vì lý do nêu trên hoặc vì phiên bản của tôi về keytool đã quá cũ.
Vì vậy, phải đầu tiên chia các tập tin vào Certs riêng biệt:
cat certchain.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > ("cert" n ".pem")}'
(https://serverfault.com/q/391396/58568)
Sau đó, nhập từng mã riêng.
Một bash script mà sẽ nhập khẩu tất cả các chứng từ một tập tin PEM:
#!/bin/bash
PEM_FILE=$1
PASSWORD=$2
KEYSTORE=$3
# number of certs in the PEM file
CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l)
# For every cert in the PEM file, extract it and import into the JKS keystore
# awk command: step 1, if line is in the desired cert, print the line
# step 2, increment counter when last line of cert is found
for N in $(seq 0 $(($CERTS - 1))); do
ALIAS="${PEM_FILE%.*}-$N"
cat $PEM_FILE |
awk "n==$N { print }; /END CERTIFICATE/ { n++ }" |
keytool -noprompt -import -trustcacerts \
-alias $ALIAS -keystore $KEYSTORE -storepass $PASSWORD
done
Ví dụ:
./jks_import_pem TrustedCAs.PEM changeit truststore.jks
những loại tập tin là nó? – bowmore
Tệp PEM ------- – Fakrudeen