Unable to submit to app store - fastlane failure ("invalid curve name")

I am seeing the following error when I run eas submit --platform ios

From what I can see this seems to be driven by the content of my .p8 key file (the appconnect api key that expo requires to submit apps to the app store)

further notes:
I’ve tried submitting the raw key (the keyfile I downloaded from appconnect) and a base64 encoded version of the key (taking the entire contents of the key, base64 encoding (this includes the header and footer of the key) and neither worked.

Has anyone else seen this issue and resolved it?

[logs] /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:69:in initialize': [!] invalid curve name (OpenSSL::PKey::ECError) [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:69:in new’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:69:in create' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:47:in from_json_file’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:31:in from' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/pilot/lib/pilot/manager.rb:23:in login’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/pilot/lib/pilot/manager.rb:19:in start' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/pilot/lib/pilot/build_manager.rb:17:in upload’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/actions/upload_to_testflight.rb:32:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:229:in chdir' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:229:in execute_action’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/one_off.rb:42:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/one_off.rb:22:in execute’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/commands_generator.rb:225:in block (2 levels) in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call’
[logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!' [logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/commands_generator.rb:353:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/commands_generator.rb:42:in start’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in take_off' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/bin/fastlane:23:in <top (required)>’
[logs] from /usr/local/bin/fastlane:23:in load' [logs] from /usr/local/bin/fastlane:23:in
[logs] /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:69:in initialize': invalid curve name (OpenSSL::PKey::ECError) [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:69:in new’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:69:in create' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:47:in from_json_file’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/spaceship/lib/spaceship/connect_api/token.rb:31:in from' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/pilot/lib/pilot/manager.rb:23:in login’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/pilot/lib/pilot/manager.rb:19:in start' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/pilot/lib/pilot/build_manager.rb:17:in upload’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/actions/upload_to_testflight.rb:32:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:229:in chdir' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/runner.rb:229:in execute_action’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/one_off.rb:42:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/one_off.rb:22:in execute’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/commands_generator.rb:225:in block (2 levels) in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call’
[logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!' [logs] from /Library/Ruby/Gems/2.6.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/commands_generator.rb:353:in run' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/commands_generator.rb:42:in start’
[logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in take_off' [logs] from /Library/Ruby/Gems/2.6.0/gems/fastlane-2.191.0/bin/fastlane:23:in <top (required)>’
[logs] from /usr/local/bin/fastlane:23:in load' [logs] from /usr/local/bin/fastlane:23:in

can you share a link to your submission page?

I can confirm, using the same file locally by explicitly setting configurations like ascApiKeyPath and using EAS servers by omitting such configuration with just ascAppId resulting success when building locally and error above when building on the cloud.
Can share mine submission links:

  1. eas server - Log In — Expo
  2. local - Log In — Expo

I’ve also found relevant closed issue on Fastlane (can’t put link unfortunately) The expo’s Fastlane version probably need updatin’

I verified submit by passing asc api key locally via eas.json and as expo manged credentials and it worked with the same file in both cases. If it works for you in one of those cases then it’s not fastlane version issue(but we will update it either way soon)

Most likely the file you passed when setting up remote credentials was not correct, try deleting credentials from expo and pass again file that worked for you locally. p8 should have format

-----BEGIN PRIVATE KEY-----
c29tZSByYW5kb20gdGV4dCBzb21lIHJhbmRvbSB0ZXh0IHNvbWUgcmFuZG9tIHRleHQgIGFzZGxm
a2pobHNka2Fmamhsc2tkYWpmaGxrc2RqZnNkbGtqZmxrYWpzZGZsa3NhZmpkbGtzZGpma3NqZGxk
c2pmbGtzZGFqZmtsZHNqZmxhc2tkamZkc2xrYWpmZGtzbGZqbGtzYWRqZmxzZGtqZmxrc2RmbHNr
amZhYWxza2RqZmxka3NhamZsa3Nmago=
-----END PRIVATE KEY-----

EDIT: Nevermind, it looks like passing asc API key via browser results in the error you described, if you configure it via cli it works in both cases

1 Like

Yes, forgot to mention, I’ve used browser dashboard to submit the key.