1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Blender 5.2でエクステンション取得に失敗するSSL証明書エラーの対処

1
Posted at

概要

  • Blender 5.2.0 の「エクステンションを入手」でのリモートリポジトリ取得失敗
  • エクステンション一覧の非表示
  • リモートリポジトリの更新失敗
  • コンソールに出力された次のログ
sync: URL error (<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1032)>) reading 'https://extensions.blender.org/api/v1/extensions/'!
  • リポジトリ設定または Blender 側のデータ破損に見える症状
  • 実際の原因は HTTPS 通信時の SSL 証明書検証エラー
  • SSL_CERT_FILE に certifi/cacert.pem を指定して起動し、Refresh Remote を実行することで解消

発生環境

  • Windows 11 Pro
  • Blender 5.2.0
  • Blender Extensions
  • 対象リポジトリ: extensions.blender.org

原因

Blender が extensions.blender.org からリポジトリ情報を取得する際、HTTPS 通信で証明書検証に失敗していた。

その結果、初回同期に必要なリポジトリ情報を取得できず、ローカルの blender_org リポジトリデータが未作成、または不完全な状態になっていた。

つまり、エクステンション一覧を取得できなかった原因は、SSL 証明書検証失敗によってリポジトリデータを取得できなかった。

Blender の Python コンソールで確認すると、次のようなエラーが出る。

sync: URL error (<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1032)>) reading 'https://extensions.blender.org/api/v1/extensions/'!

対処

SSL_CERT_FILE 環境変数に、Blender 同梱の certifi の CA 証明書ファイルを指定して Blender を起動します。

指定するファイルは次のようなものです。

certifi/cacert.pem

以下は、Blender 5.2 を標準のインストール先に入れている場合の起動用バッチファイル例です。

この内容を .bat ファイルとして保存して実行すると、SSL_CERT_FILE を一時的に指定した状態で Blender を起動できます。

@echo off
set "SSL_CERT_FILE=C:\Program Files\Blender Foundation\Blender 5.2\5.2\python\Lib\site-packages\certifi\cacert.pem"

start "Blender 5.2" "C:\Program Files\Blender Foundation\Blender 5.2\blender.exe"

Blender を起動したら、次を実行します。

Preferences
→ Extensions
→ Refresh Remote

これでリモートリポジトリの同期に成功すると、必要なリポジトリ情報がローカルに保存されます。

一度正常に同期できた後は、次回以降 SSL_CERT_FILE を指定しない通常起動でもエクステンション一覧を読み込めるようになる場合があります。

確認

Blender の Python コンソールで次を実行します。

import urllib.request

print(
    urllib.request.urlopen(
        "https://extensions.blender.org/api/v1/extensions/",
        timeout=30,
    ).status
)

正常な場合は次のように 200 が返ります。

200

証明書検証に失敗している場合は、次のようなエラーになります。

sync: URL error (<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1032)>) reading 'https://extensions.blender.org/api/v1/extensions/'!

まとめ

  • エクステンション一覧の非表示はリポジトリ未取得の結果だった
  • 根本原因は HTTPS 通信時の SSL 証明書検証失敗だった
  • SSL_CERT_FILE に certifi/cacert.pem を指定して起動すると回避できた
  • Refresh Remote で一度正常同期すると、以後は通常起動でも動作する場合がある
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?