どもです。

パソコンが故障 したので、その間、以前使っていたノートパソコンを利用することにしました。
1年半くらい使っていなかったので、とりあえず、Windows Updateを行ってWindows11を26H2まで更新しました。

しかし、私が作成したNVDA用のアドオンなどでアップデートチェックに失敗するという問題が発生したため、いろいろ調べてみました。

NVDAアドオンのアップデートチェックでは、Windowsの証明書ストアに入っているルート証明書を使って通信先を確認しています。
Windowsはルート証明書を最初からすべて持っているわけではなく、ブラウザなどが必要としたときに、その都度Windows Updateから取得する仕組みになっています。
ところが、NVDA(Python)はこの仕組みを使わないため、Windows Updateを行っても必要なルート証明書が入っていない状態のままになり、SSLのエラーが起きていたようです。
なお、NVDA本体のアップデートチェックには、SSLエラーが発生した際に自動で証明書を取得する仕組みがあるようなので、この問題は起きないと思います。

ということで、なんとかして足りないルート証明書を追加できないかと思い、AIに質問してみました。
教えてもらった方法を実行したところうまくいったので、一応メモとして残しておきます。
手順は下記の通りです。

  1. PowerShellを管理者として実行する。

  2. まず、下記のコマンドを実行して、Windows Update経由でMicrosoftが信頼しているルート証明書をまとめて一時ディレクトリにダウンロードして保存する。

    certutil -generateSSTFromWU $env:TEMP\roots.sst
    
  3. 次に、下記のコマンドを実行して、取得した証明書をWindowsの証明書ストアに登録する。

    Get-ChildItem $env:TEMP\roots.sst | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
    
  4. Windowsを再起動するか、NVDAを再起動する。

こちらの環境ではこれで問題なくSSL通信できるようになりました。

ということで、今回は以上です。

それでは。