Skip to content

Use case dataset download fails on Windows with CERTIFICATE_VERIFY_FAILED #2676

Closed

Description

@akenmorris

Description

On a clean Windows machine running 6.8.0 RC1, RunUseCase.py can't download use case data:

> & 'C:\Program Files\ShapeWorks\bin\swpython.bat' .\RunUseCase.py deep_ssm --tiny_test
Step 1. Acquire Data
Downloading deep_ssm_femur_tiny_test from https://www.sci.utah.edu/~shapeworks/data-sets/use-case-data/deep_ssm_femur_tiny_test-v1.zip
...
RuntimeError: Could not reach https://www.sci.utah.edu/~shapeworks/data-sets/use-case-data/deep_ssm_femur_tiny_test-v1.zip
  <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)>

Cause

The certificate chain for www.sci.utah.edu ends at the emSign Root CA - G1 root. A fresh Windows install ships with only a small set of roots and downloads the rest on demand, but only when Windows itself verifies a connection (for example, in a browser). Python verifies through OpenSSL, which reads the Windows root store as it stands, so it doesn't find the root.

This explains why it works on some machines and not others: visiting the site once in Edge installs the root.

Fix

Have shapeworks/datasets.py verify against certifi's root bundle as well as the system roots. certifi is already in python_requirements.txt and bundled with the install. The fix goes to master first. release_v6.8.0 also needs it; it will come over with the other master fixes being merged into 6.8.

Workaround

Open the dataset URL once in Edge, or set SSL_CERT_FILE to the path of certifi's cacert.pem in the ShapeWorks Python install.

Activity

  1. added a commit that references this issue on Oct 23, 2026
  2. self-assigned this
    on Oct 27, 2026
  3. akenmorris commented on Oct 27, 2026

    @akenmorris
    ContributorAuthor

    Fixed in #2677

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions