前提
- AlmaLinux9
- git clone時に「CA certificate key too weak」と言われた。
手順
- 現在の暗号化ポリシーの設定を確認する。
update-crypto-policies --show
- FUTUREとなっていたため暗号化レベルをDEFAULTに下げる。
update-crypto-policies --set DEFAULT
- rebootする。
- 以上
問題点
この問題はOSハードニングにより、暗号強度を高めていたために発生した。
暗号化強度を落とすことで解消可能ではあるが、逆にセキュリティ強度を下げてしまうことになる。
セキュリティ強度を維持したままgit cloneできる方法を探る必要がある。
解決策
Gitlabに関しては、SSHキーを設定すればVMのセキュリティ強度を維持したまま、Gitlabを使用できることがわかった。
手順
- 鍵ペア生成
ssh-keygen -t ecdsa
- 公開鍵(.pubの中身丸ごと)をGitlabのアカウントページ内、SSHキーの欄にコピペ
- ~/.sshフォルダを作成
- ~/.ssh/configファイルを作成
Host gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ecdsa ←秘密鍵のファイル(.pubついていない方)
- git cloneする。 ※git@~の部分は取得したいページの「SSHでクローン」からコピペ。
git clone git@gitlab.com:任意のプロジェクト名
補足
はじめはクライアント側の証明書がTLS1.3の暗号強度に適合していないと思っていた。
でも実際は、サーバー側(アクセス先)の証明書の公開鍵暗号方式が弱かった。
こればっかりはTLS1.3の使用が一般化するまではどうしようもないと思われる。
自前のサーバーならTLS1.3を強制して作成すればよい。