keytoolコマンドでkeystoreファイルを作成してみる

network-securityWeb開発

皆さん、こんにちは!

最近、keystoreファイルが必要になったので、その作成過程を載せておきます。

いままで、公開鍵&秘密鍵のペアは何度か作成してきましたが。。

keystoreファイルは作成したことがなかったので、どのように作成するのかがわかりませんでした。

自分用のメモとしても役に立つと思うので、ちょっと書いておきます。

環境

# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

keytoolコマンドを使用できるようにする

keytoolコマンドに関しては、openjdkをインストールすれば使用できるようになります。

# yum install java-1.8.0-openjdk

keystoreファイルを作成してみる

以下はRSA鍵のkeystoreファイルを作成するコマンド。(1年間有効)

# keytool -genkey -v -keystore my-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 365

今回作りたかったのは、楕円曲線暗号で比較的短い署名を生成したかったので、以下のコマンドを実行してます。(1年間有効)

# keytool -genkey -v -keystore my-key.keystore -alias alias_name -keyalg EC -sigalg SHA256withECDSA -keysize 256 -validity 365

※validityの部分が有効期間です。ここでは1年間なので、356(日)を設定しています。

作成したkeystoreファイルの中身は以下で確認できます。

# keytool -v -list -keystore <keystore file name>

参考として、genkeyコマンドのオプションを張っておきます。

# keytool -genkey --help
keytool -genkeypair [OPTION]...

Generates a key pair

Options:

 -alias <alias>                  alias name of the entry to process
 -keyalg <keyalg>                key algorithm name
 -keysize <keysize>              key bit size
 -sigalg <sigalg>                signature algorithm name
 -destalias <destalias>          destination alias
 -dname <dname>                  distinguished name
 -startdate <startdate>          certificate validity start date/time
 -ext <value>                    X.509 extension
 -validity <valDays>             validity number of days
 -keypass <arg>                  key password
 -keystore <keystore>            keystore name
 -storepass <arg>                keystore password
 -storetype <storetype>          keystore type
 -providername <providername>    provider name
 -providerclass <providerclass>  provider class name
 -providerarg <arg>              provider argument
 -providerpath <pathlist>        provider classpath
 -v                              verbose output
 -protected                      password through protected mechanism

Use "keytool -help" for all available commands

参考

How can I create a keystore?
What are the steps to create a keystore for android? I need to use google maps in my app and I don't know what steps I missed. Please provide me with the specif...
タイトルとURLをコピーしました