どもです。
パソコンが故障
したので、その間、以前使っていたノートパソコンを利用することにしました。
1年半くらい使っていなかったので、とりあえず、Windows Updateを行ってWindows11を26H2まで更新しました。
しかし、私が作成したNVDA用のアドオンなどでアップデートチェックに失敗するという問題が発生したため、いろいろ調べてみました。
NVDAアドオンのアップデートチェックでは、Windowsの証明書ストアに入っているルート証明書を使って通信先を確認しています。
Windowsはルート証明書を最初からすべて持っているわけではなく、ブラウザなどが必要としたときに、その都度Windows Updateから取得する仕組みになっています。
ところが、NVDA(Python)はこの仕組みを使わないため、Windows Updateを行っても必要なルート証明書が入っていない状態のままになり、SSLのエラーが起きていたようです。
なお、NVDA本体のアップデートチェックには、SSLエラーが発生した際に自動で証明書を取得する仕組みがあるようなので、この問題は起きないと思います。
ということで、なんとかして足りないルート証明書を追加できないかと思い、AIに質問してみました。
教えてもらった方法を実行したところうまくいったので、一応メモとして残しておきます。
手順は下記の通りです。
PowerShellを管理者として実行する。
まず、下記のコマンドを実行して、Windows Update経由でMicrosoftが信頼しているルート証明書をまとめて一時ディレクトリにダウンロードして保存する。
certutil -generateSSTFromWU $env:TEMP\roots.sst次に、下記のコマンドを実行して、取得した証明書をWindowsの証明書ストアに登録する。
Get-ChildItem $env:TEMP\roots.sst | Import-Certificate -CertStoreLocation Cert:\LocalMachine\RootWindowsを再起動するか、NVDAを再起動する。
こちらの環境ではこれで問題なくSSL通信できるようになりました。
ということで、今回は以上です。
それでは。