Skip to content

tool-esptoolpy: bump cryptography from ~=45.0.3 to >=46.0.0 for win_arm64 wheel support #1742

@psacal

Description

@psacal

Problem

platformio/tool-esptoolpy currently requires cryptography ~= 45.0.3, which
has no pre-built wheels for Windows ARM64. This forces Windows ARM64 users
to compile cryptography from source, requiring Visual Studio Build Tools,
vcpkg, OpenSSL, and manual linker fixes.

cryptography >= 46.0.0 ships pre-built win_arm64 wheels — instant install.

Context

  • esptool.py upstream (v5.2) specifies cryptography>=43.0.0 — 46.0.0 works
  • cryptography 45.0.x: no win_arm64 wheels
  • cryptography 46.0.0+: ships cp311-win_arm64 and cp314-win_arm64

Workaround I suffered through

  1. Install VS Build Tools (C++ workload) for link.exe
  2. Clone vcpkg, build OpenSSL for arm64-windows-static-md
  3. Patch vcpkg OpenSSL port: enable-capieng → no-capieng
  4. Create ~/.cargo/config.toml to inject advapi32.lib
  5. Manually build cryptography with --no-build-isolation

Proposed fix

Change cryptography ~= 45.0.3 to cryptography >= 43.0.0 (matching upstream)
or cryptography ~= 46.0.0 (pinning to a version with win_arm64 wheels).

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions