intdash SDK for PythonでSSLCertVerificationErrorが発生した場合

intdash SDK for Pythonを使ってClientオブジェクトを生成する際、以下のようにSSLCertVerificationErrorが発生することがあります。

Pythonコード例:

client = intdash.Client(url=‘https://<intdash-domain>’, edge_token=‘<token>’)

エラー例:

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)MaxRetryError: HTTPSConnectionPool(host='<intdash-domain>', port=443): Max retries exceeded with url: /api/v1/version (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)')))

このエラーは、SSL/TLSサーバー証明書の検証に失敗していることを示しています。サーバー証明書として自己署名証明書が使用されていると、このエラーが発生します。

このような場合は、第三者により署名された証明書をサーバーに設置してください。詳細については、intdashサーバーの証明書についてを参照してください。

なお、Clientオブジェクト生成時にveryfy=Falseを指定することで、証明書の検証をスキップすることも可能です。この場合、自己署名証明書が使用されていてもエラーにはなりません。

client = intdash.Client(url=‘https://<intdash-domain>’, edge_token=‘<token>’, verify=False)

intdashサーバーの証明書について に記載されているとおり、自己署名証明書の使用にはセキュリティ上のリスクがあります。