OpenSSL は、SSL/TLS プロトコルの実装および、暗号化・鍵作成・証明書管理などを行うための標準的なオープンソース・暗号ライブラリ/コマンドラインツールです。

※動作環境についての注記
本メモは Ubuntu 18.04.6 LTS (Bionic Beaver) を前提としています。
補足: Ubuntu 18.04 LTS は 2023年4月に標準サポート(EOL)が終了 しています。最新のセキュリティパッチ適用や新機能利用のためには、Ubuntu 22.04 LTS または 24.04 LTS へのアップグレードを推奨します。

1. バージョン確認

OpenSSLコマンドのバージョン確認

openssl version

システム(apt)でインストールされているパッケージの詳細確認

apt list --installed | grep openssl

PHPに組み込まれている OpenSSL ライブラリのバージョン確認

php -i から絞り込むか、CLIワンライナーで正確なバージョン文字列を取得できます。

# php.ini 設定情報から確認
php -i | grep -i "OpenSSL Library"

# 定数からピンポイントで取得する場合
php -r "echo OPENSSL_VERSION_TEXT . PHP_EOL;"

2. パッケージのアップグレード

インストール可能な新しいバージョンがリポジトリにあるか確認

sudo apt update
sudo apt list --upgradable

パッケージの更新

sudo apt install openssl

【技術メモ】apt upgrade で更新されず apt install で更新できる理由
新しいパッチバージョンで依存関係の追加・変更が伴う場合、単なる apt upgrade(または旧 apt-get upgrade)ではパッケージの更新が保留(Hold)されることがあります。
対象パッケージを直接指定する sudo apt install <package_name> や、依存関係の変更を許可する sudo apt dist-upgrade(または sudo apt full-upgrade)を実行することで正常に更新されます。


3. Ubuntu パッケージリポジトリでの検索

※ Ubuntu 18.04 (bionic) の標準セキュリティリポジトリで提供されている OpenSSL 1.1.1 系の最終ビルド例:
1.1.1-1ubuntu2.1~18.04.17

$ apt list --installed | grep openssl

libxmlsec1-openssl/bionic,now 1.2.25-1build1 amd64 [installed,automatic]
openssl/bionic-updates,bionic-security,now 1.1.1-1ubuntu2.1~18.04.17 amd64 [installed]
python3-openssl/bionic,now 17.5.0-1ubuntu1 all [installed,automatic]