Skip to content

Uploading ECDSA certificates to WiFi101 #157

Closed as not planned
Closed as not planned
@muelas

Description

@muelas

Describe the request

Currently, the certificate upload for the WiFI101 based HW does not support ECC-based certificates. This is an issues, as some sites (e.g., make.com) use ECC-based certificates and can thus not be reached.

Note that the WiFinina fwuploader does support these kind of certificates.

Describe the current behavior

Currently, the firmware uploader simply responds with "Upload failed. Please try again", when trying to upload an ECC-based certificate (log output attached below).

More specifically, the following steps were performed:

  • Open Arduino IDE 2.0.3
  • Connect Arduino MKR1000
  • Select Tools > Upload SSL Root Certificates
  • Add hook.eu1.make.com:443 to the list, select it, select the board and click upload
  • After some time, the tool responds with "Upload failed, Please try again"

Arduino Firmware Uploader version

Original report

arduino-fwuploader Version: 2.2.2 Commit: 8944d4a Date: 2022-10-17T14:51:09Z

Last verified with

2.3.0

Operating system

Windows

Operating system version

10

Additional context

The log file shows the following exception:

2022-12-07 14:23:43 2022-12-07T13:23:43.722Z root ERROR Request uploadCertificates failed with error: Error executing "C:\Program Files\Arduino IDE\resources\app\node_modules\arduino-ide-extension\build\arduino-fwuploader.exe" certificates flash -b arduino:samd:mkr1000 -a COM30 -u hook.eu1.make.com:443: panic: interface conversion: interface {} is *ecdsa.PublicKey, not *rsa.PublicKey

goroutine 1 [running]:
github.com/arduino/arduino-fwuploader/flasher.(*WincFlasher).getCertificateData(0x130100010304?, 0xc000348580)
	/home/runner/work/arduino-fwuploader/arduino-fwuploader/flasher/winc.go:182 +0x545
github.com/arduino/arduino-fwuploader/flasher.(*WincFlasher).certificateFromURL(0xc000006018?, {0xc00045cee8, 0x15})
	/home/runner/work/arduino-fwuploader/arduino-fwuploader/flasher/winc.go:162 +0x433
github.com/arduino/arduino-fwuploader/flasher.(*WincFlasher).FlashCertificates(0xc00001e130?, 0xc00065c0c0?, {0xc00005b1e0, 0x1, 0xc00001e130?}, {0x90ee80, 0xc000006018})
	/home/runner/work/arduino-fwuploader/arduino-fwuploader/flasher/winc.go:98 +0x4d2
github.com/arduino/arduino-fwuploader/cli/certificates.runFlash(0xc0001c3400?, {0xc0000666c0?, 0x6?, 0x6?})
	/home/runner/work/arduino-fwuploader/arduino-fwuploader/cli/certificates/flash.go:125 +0x650
github.com/spf13/cobra.(*Command).execute(0xc0001c3400, {0xc000066660, 0x6, 0x6})
	/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x663
github.com/spf13/cobra.(*Command).ExecuteC(0xc0001c2000)
	/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:960 +0x39c
github.com/spf13/cobra.(*Command).Execute(...)
	/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:897
main.main()
	/home/runner/work/arduino-fwuploader/arduino-fwuploader/main.go:34 +0x45

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest version
  • My request contains all necessary details

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions