Mac に Java をインストールして jks(キーストア)を作成するまで
January 20, 2022
(実施した時のメモ)
Java をインストールする #
Homebrew で openjdk
をインストールする。
- openjdk — Homebrew Formulae
- https://formulae.brew.sh/formula/openjdk
brew install openjdk
インストール中に以下のメッセージが表示される。
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
openjdk is keg-only, which means it was not symlinked into /usr/local,
because macOS provides similar software and installing this software in
parallel can cause all kinds of trouble.
If you need to have openjdk first in your PATH, run:
echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc
For compilers to find openjdk you may need to set:
export CPPFLAGS="-I/usr/local/opt/openjdk/include"
openjdk は keg-only
とのこと。keg-only
は Homebrew の用語で「インストール時に自動ではパスを通さないもの」の様子。
- Homebrew はビール関連のワードを度々用いるが Keg(ケグ)は以下らしい。
- https://en.wikipedia.org/wiki/Keg
- これはビールの容器かな??容器だけの提供(
keg-only
)だから自動でパスは通さないよということ?
試しに以下を実行してみるとパスが通っていないことがわかる。
java --version
> The operation couldn’t be completed. Unable to locate a Java Runtime.
> Please visit http://www.java.com for information on installing Java.
openjdk が出力したメッセージの中にも記載がある通り、以下を実行してシンボリックリンクを貼る。
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
その後再び java --version
すると今度は正常に結果が表示されるはず。
おまけ #
- Homebrew でインストールできる JDK を以下に整理してくださっている。
- Homebrew でインストールできる JDK まとめ - Qiita
証明書を作成する #
以下でキーストア (jks
)を作成する。
keytool -genkey -v -keystore [ファイル名].jks -keyalg RSA -keysize 2048 -validity 10000 -alias [エイリアス名]
# ファイル名やエイリアス名の具体例
keytool -genkey -v -keystore mykey.jks -keyalg RSA -keysize 2048 -validity 10000 -alias mykey
上記コマンドを実行するとウィザードに質問されるので回答する。(organizational unit などは未入力で大丈夫)
Enter keystore password: ********(パスワード)
Re-enter new password: ********
What is your first and last name?
[Unknown]: Jane Doe
What is the name of your organizational unit?
[Unknown]:
What is the name of your organization?
[Unknown]:
What is the name of your City or Locality?
[Unknown]:
What is the name of your State or Province?
[Unknown]: Tokyo
What is the two-letter country code for this unit?
[Unknown]: JP
Is CN=Jane Doe, OU=Unknown, O=Unknown, L=Unknown, ST=Tokyo, C=JP correct?
[no]: y
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
for: CN=Jane Doe, OU=Unknown, O=Unknown, L=Unknown, ST=Tokyo, C=JP
[Storing mykey.jks]
コマンドを実行したカレントディレクトリに ****.jks
が作成されている。