diff --git a/README.md b/SupportList.md similarity index 51% rename from README.md rename to SupportList.md index 2e57b67..448be86 100644 --- a/README.md +++ b/SupportList.md @@ -1,8 +1,3 @@ -# Pico FIDO2 - -This project transforms your Raspberry Pi Pico or ESP32 microcontroller into an integrated FIDO Passkey **and** OpenPGP smartcard, functioning like a standard USB Passkey for authentication and as a smartcard for cryptographic operations. - ---- ## Features @@ -72,56 +67,4 @@ Microcontrollers RP2350 and ESP32-S3 are designed to support secure environments --- -## Download -**If you own an ESP32-S3 board, go to ESP32 Flasher for flashing your Pico FIDO2.** - -If you own a Raspberry Pico (RP2040 or RP2350), go to the Download page, select your vendor and model and download the proper firmware; or go to the Release page and download the UF2 file for your board. - -Note that UF2 files are shipped with a dummy VID/PID to avoid license issues (FEFF:FCFD). If you plan to use it with other proprietary tools, you should modify Info.plist of CCID driver to add these VID/PID or use the Pico Commissioner. - -You can use whatever VID/PID (i.e., 234b:0000 from FISJ), but remember that you are not authorized to distribute the binary with a VID/PID that you do not own. - -Note that the pure-browser option Pico Commissioner is the most recommended. - ---- - -## Build for Raspberry Pico - -Before building, ensure you have installed the toolchain for the Pico and that the Pico SDK is properly located on your drive. - -``` -git clone https://github.com/youruser/pico-fido2 -git submodule update --init --recursive -cd pico-fido2 -mkdir build -cd build -PICO_SDK_PATH=/path/to/pico-sdk cmake .. -DPICO_BOARD=board_type -DUSB_VID=0x1234 -DUSB_PID=0x5678 -make -``` - -Note that `PICO_BOARD`, `USB_VID` and `USB_PID` are optional. If not provided, `pico` board and VID/PID `FEFF:FCFD` will be used. - -Additionally, you can pass the `VIDPID=value` parameter to build the firmware with a known VID/PID. The supported values are: - -- `NitroHSM` -- `NitroFIDO2` -- `NitroStart` -- `NitroPro` -- `Nitro3` -- `Yubikey5` -- `YubikeyNeo` -- `YubiHSM` -- `Gnuk` -- `GnuPG` - -After running `make`, the binary file `pico_fido2.uf2` will be generated. To load this onto your Pico board: - -1. Put the Pico board into loading mode by holding the `BOOTSEL` button while plugging it in. -2. Copy the `pico_fido2.uf2` file to the new USB mass storage device that appears. -3. Once the file is copied, the Pico mass storage device will automatically disconnect, and the Pico board will reset with the new firmware. -4. A blinking LED will indicate that the device is ready to work. - -## Driver - -Pico FIDO2 uses the `HID` driver for FIDO and `CCID` for OpenPGP, both present in all major operating systems. It should be detected by all OS and browser/applications just like normal USB FIDO keys and smartcards.