SSL 無料証明書(Let's Encrypt) - トラブルシュート - certbot こける1

クラウディア 
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」でインストールしたものとどうやって入れ替えるかは、また別途、考えよう。
ハイスピードプラン