web-dev-qa-db-ja.com

デジタル証明書:.cerファイルを.truststoreファイルにインポートする方法

.truststoreファイルを処理する必要がある場所に誰かが出くわしましたか? .cerを.truststoreファイルにインポートする方法を知っていますか?

Java KeytoolまたはLinuxコマンド(opensslコマンドなど)を使用する必要があるかどうかはわかりません。

ありがとう

82
netic
# 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はデフォルトのトラストストアパスワードです

178
Strelok

sedを使用して証明書を除外する代わりに、openssl s_client出力をopenssl x509 -out certfile.txtにパイプすることもできます。次に例を示します。

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

問題は、.cerファイルをトラストストアにインポートする方法ですが、Firefoxからエクスポートした.crtファイルがあります。

インターネットを検索する.crtを信頼ストアにインポートする方法は、この質問を指します。 .crtをトラストストアにインポートする方法を見つけたので、私もそれに答えます。

答えは:.cerファイルと同じです。

ところで、エイリアスを入力する必要はなく、コマンドを入力した後にキーストアのパスワードを入力できます。

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

Javaインストール(jre\lib\security\cacerts)に既に存在するcacertsファイルを使用することをお勧めします。これには、すでに安全な「一般的な」証明書が含まれているためです。

cerとcrtの違いに関する更新(明確にするため)Apache with SSL-CERをCRT証明書に変換する方法? およびユーザー@Spawnriderによる

CERは、DER形式でエンコードされたバイナリ形式のX.509証明書です。
CRTは、テキスト(base-64)エンコーディングでカプセル化されたバイナリX.509証明書です。
同じエンコーディングではありません。