- 1. 概要
- 2. 状況
- 3. 応急処置
1. 概要
表題が、身も蓋もないですが。
タイトルのつけようがない。
発生は。2023年10月26日からで。
原因は、ようわからんのですが、何かの「ports」を更新したことが原因かと思います。
本ページは、下記のサイトを参考にさせていただきました。
「Did OpenSSL 3.0 break Certbot? - Client dev - Let's Encrypt Community Support」
2. 状況
「certbot」を起動すると。
Traceback (most recent call last):
File "/usr/local/bin/certbot", line 33, in <module>
sys.exit(load_entry_point('certbot==2.6.0', 'console_scripts', 'certbot')())
File "/usr/local/bin/certbot", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/local/lib/python3.9/importlib/metadata.py", line 86, in load
module = import_module(match.group('module'))
File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/local/lib/python3.9/site-packages/certbot/main.py", line 6, in <module>
from certbot._internal import main as internal_main
File "/usr/local/lib/python3.9/site-packages/certbot/_internal/main.py", line 21, in <module>
import josepy as jose
File "/usr/local/lib/python3.9/site-packages/josepy/__init__.py", line 40, in <module>
from josepy.json_util import (
File "/usr/local/lib/python3.9/site-packages/josepy/json_util.py", line 14, in <module>
from OpenSSL import crypto
File "/usr/local/lib/python3.9/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import SSL, crypto
File "/usr/local/lib/python3.9/site-packages/OpenSSL/SSL.py", line 9, in <module>
from OpenSSL._util import (
File "/usr/local/lib/python3.9/site-packages/OpenSSL/_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
File "/usr/local/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 15, in <module>
from cryptography.exceptions import InternalError
File "/usr/local/lib/python3.9/site-packages/cryptography/exceptions.py", line 9, in <module>
from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions
ImportError: /usr/local/lib/python3.9/site-packages/cryptography/hazmat/bindings/_rust.abi3.so: Undefined symbol "EVP_default_properties_is_fips_enabled"
ちゅなことになります。
「python」のバージョンを変えれば、なんとかなるかしら?と。
「python」をバージョンアップしてみましたが(次ページ以降に掲載)、なんともならず。
3. 応急処置
問題は、結局、「py-cryptography」のバージョンがいささか古いことにあるようです。
おそらくは、いずれ、「py-cryptography」もアップグレードされるかと思いますが、それまでに証明書の有効期限をむかえてしまうとまずい。
参考サイトに対応が書いてありました。
すなわち。
pip install "cryptography==40.0.2"
この結果。
Collecting cryptography==40.0.2
Downloading cryptography-40.0.2.tar.gz (625 kB)
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq 625.6/625.6 kB 2.3 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.11/site-packages (from cryptography==40.0.2) (1.16.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/site-packages (from cffi>=1.12->cryptography==40.0.2) (2.21)
Building wheels for collected packages: cryptography
Building wheel for cryptography (pyproject.toml) ... done
Created wheel for cryptography: filename=cryptography-40.0.2-cp311-cp311-freebsd_13_2_release_amd64.whl size=1155680 sha256=d1dfd8961275ef095198792325439e18b87641d698725701a0b1b54ea7f012f2
Stored in directory: /root/.cache/pip/wheels/de/19/d1/3e706cf8a43e950d57ccc3c7f88fe92c0f7f716b98062fc98a
Successfully built cryptography
Installing collected packages: cryptography
Attempting uninstall: cryptography
Found existing installation: cryptography 3.4.8
Uninstalling cryptography-3.4.8:
Successfully uninstalled cryptography-3.4.8
Successfully installed cryptography-40.0.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
と一応、更新することができまして。
(最後の警告は、「root」権限で捜査しているためで、これを防ぐための手だてを知りません)
「certbot」は、また動くようになりました。
「ports」が更新された際、「pip」でインストールしたものとどうやって入れ替えるかは、また別途、考えよう。
|