web-dev-qa-db-ja.com

keytoolを使用して証明書チェーンを作成する方法は?

Java次のように証明書チェーンを作成したい:

ca.mycompany.com
|--asia.mycompany.com
   |--india.mycompany.com

ca.mycompany.comはルート証明書(自己署名)です。

OpenSSLでこれが可能であることは知っています。しかし、keytoolでこれを達成することは可能ですか?

そうでない場合、Mozilla NSSライブラリでこれを達成できますか?

14

keytool documentation には、これを行う方法を示す例があります。

keytool -genkeypair -keystore root.jks -alias root -ext bc:c
keytool -genkeypair -keystore ca.jks -alias ca -ext bc:c
keytool -genkeypair -keystore server.jks -alias server

keytool -keystore root.jks -alias root -exportcert -rfc > root.pem
keytool -storepass <storepass> -keystore ca.jks -certreq -alias ca | keytool -storepass <storepass> -keystore root.jks -gencert -alias root -ext BC=0 -rfc > ca.pem

cat root.pem ca.pem > cachain.pem
keytool -keystore ca.jks -importcert -alias ca -file cachain.pem

keytool -storepass <storepass> -keystore server.jks -certreq -alias server | keytool -storepass <storepass> -keystore ca.jks -gencert -alias ca -ext ku:c=Dig,keyEncipherment -rfc > server.pem
cat root.pem ca.pem server.pem > serverchain.pem
keytool -keystore server.jks -importcert -alias server -file serverchain.pem

KeyStore Explorer を使用すると、証明書チェーンを非常に簡単に生成することもできます。

  1. 新しいキーペアを作成します。これは、自己署名証明書(ルートCA)の作成を意味します。
  2. ルートCA証明書を右クリックして[新しいキーペアに署名]を選択すると、サブCA証明書とキーペアが作成されます。
  3. サブCA証明書を右クリックし、「新しいキーペアに署名」を再度選択します。

Signing a new certificate

結果のチェーン:

enter image description here

24
Omikron

これは、 keytoolを使用して証明書チェーンを作成する のプロセスを進めるのに役立つ完璧なチュートリアルです。基本的に、このプロセスでは、CAからのキーを使用して証明書に署名し、作成したキーストアに証明書をインストールする必要があります。

5
PixelsTech