Skip to content

Comments

Fix authentication handshake failure (Error 3020)#1713

Open
djkoyi wants to merge 3 commits intoaltstoreio:marketplacefrom
djkoyi:fix/authentication-handshake
Open

Fix authentication handshake failure (Error 3020)#1713
djkoyi wants to merge 3 commits intoaltstoreio:marketplacefrom
djkoyi:fix/authentication-handshake

Conversation

@djkoyi
Copy link

@djkoyi djkoyi commented Feb 18, 2026

Problem

AltServer fails with "Failed to perform authentication handshake with server" (Error 3020) on macOS 15+/26. Authentication is completely broken because the SRP cryptographic code is disabled.

Root Cause

The MARKETPLACE compilation flag is set in both project.pbxproj and AltSign/Package.swift. This flag wraps all SRP authentication functions in #if MARKETPLACE blocks that return nil/false, making authentication impossible:

// GSAContext.swift - Every crypto function is disabled:
#if MARKETPLACE
return nil  // ← Always fails
#else
// actual SRP code
#endif

Additionally, the HTTP headers sent to gsa.apple.com contain outdated values from 2018-2019 (Darwin/18.7.0, Xcode 11.2) that create a TLS fingerprint mismatch with modern macOS.

Changes

1. Remove MARKETPLACE flag (the critical fix)

  • AltStore.xcodeproj/project.pbxproj: Removed from SWIFT_ACTIVE_COMPILATION_CONDITIONS (Debug & Release)
  • Dependencies/AltSign/Package.swift: Removed .define("MARKETPLACE") from swiftSettings

2. Update authentication headers

  • User-Agent: Darwin/18.7.0Darwin/25.2.0
  • X-Xcode-Version: 11.2 (11B41)26.2 (17C52) (in both ALTAppleAPI+Authentication.swift and ALTAppleAPI.m)

3. Update anisette device description

  • Xcode bundle version in AnisetteDataManager.swift: 3594.4.1924553

4. Fix macOS compatibility

  • ProcessInfo+Device.swift: Added availability check for kIOMainPortDefault (macOS 12+) with fallback to kIOMasterPortDefault
  • project.pbxproj: Updated libcorecrypto.tbd SDK path from MacOSX14.0.sdk to MacOSX26.2.sdk

Testing

  • Built and tested on macOS 26.2 (Tahoe) with Xcode 26.2
  • Successfully authenticated with Apple ID
  • Successfully installed AltStore on iPhone

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant