Python API は、API にバンドルされ、マシンに格納されている証明書のリストを利用して、Flow Production Tracking で使用されているさまざまな Web サービスに接続します。ただし、新しい認証局がリリースされた場合は、これらが Python API または OS にバンドルされていないことがあります。
オートデスクの Python API には、2019 年 2 月 21 日時点の証明書の最新コピーが付属していますが、最新バージョンの API を使用している場合でも、API がこれらの証明書を使用して Amazon S3 にアップロードするのを妨害するバグが存在します。この背景については、こちらの AWS ブログの投稿を参照してください。状況を一時的に修正するには、次の解決策を試してください。
これらは一時的な回避策であり、オートデスクは長期的な解決策を模索しています。
Windows 証明書ストアに必要な CA 証明書を追加します。Windows 7 をお使いの場合は、このソリューションを使用するために、最初に PowerShell 3.0 へのアップグレードが必要です。または、certutil を使用して必要な証明書を追加する必要があります。
[スタート] (Start)を右クリックしてから、[Windows PowerShell (管理者)](Windows PowerShell (Admin))を左クリックして、管理者権限の PowerShell を起動します。
次のコマンドを PowerShell ウィンドウに貼り付けて、[Return]キーを押して実行します。
$cert_url = "https://www.amazontrust.com/repository/SFSRootCAG2.cer"
$cert_file = New-TemporaryFile
Invoke-WebRequest -Uri $cert_url -UseBasicParsing -OutFile $cert_file.FullName
Import-Certificate -FilePath $cert_file.FullName -CertStoreLocation Cert:\LocalMachine\Rootサムプリント 925A8F8D2C6D04E0665F596AFF22D863E8256F3F を保持している追加証明書の詳細が表示されたら操作は完了しているので、PowerShell を閉じることができます。
Python API v3.0.39 にアップグレードします。
a.SHOTGUN_API_CACERTS を /path/to/shotgun_api3/lib/httplib2/cacerts.txt に設定します。
または
b.スクリプトを更新し、Shotgun オブジェクトをインスタンス化するときに ca_certs=/path/to/shotgun_api3/lib/httplib2/cacerts.txt を設定します。
Toolkit の展開方法に応じて、tank core コマンドを使用するか、パイプライン設定の core/core_api.yml ファイルを更新して、最新バージョンの Toolkit API にアップグレードします。
https://github.com/certifi/python-certifi/blob/master/certifi/cacert.pem にある証明書の最新リストをダウンロードします。
SHOTGUN_API_CACERTS をこのファイルの保存場所に設定します。ただし、接続を作成するときに、Python API のように Toolkit から ca_certsca_certs パラメータを指定することはできません。
https://github.com/certifi/python-certifi/blob/master/certifi/cacert.pem にある証明書の最新リストをダウンロードします。
SSL_CERT_FILE 環境変数をこのファイルの保存場所に設定します。