Replace references to solo-python with solo1-cli

pull/604/head
Nicolas Stalder 2022-03-08 13:19:09 +01:00
rodzic 4467b5570e
commit 5df18c8c01
8 zmienionych plików z 54 dodań i 54 usunięć

Wyświetl plik

@ -24,7 +24,7 @@ RUN set -eux; \
# Set Path for ARM compiler # Set Path for ARM compiler
ENV PATH="$PATH:/opt/gcc-arm-none-eabi-8-2019-q3-update/bin" ENV PATH="$PATH:/opt/gcc-arm-none-eabi-8-2019-q3-update/bin"
# Python3.7: for solo-python (merging etc.) # Python3.7: for solo1-cli (merging etc.)
RUN set -eux; \ RUN set -eux; \
url="https://repo.anaconda.com/miniconda/Miniconda3-4.5.12-Linux-x86_64.sh"; \ url="https://repo.anaconda.com/miniconda/Miniconda3-4.5.12-Linux-x86_64.sh"; \
wget -O miniconda.sh "$url"; \ wget -O miniconda.sh "$url"; \
@ -38,8 +38,8 @@ RUN set -eux; \
rm miniconda.sh; \ rm miniconda.sh; \
pip install -U pip pip install -U pip
# solo-python (Python3.7 script for merging etc.) # solo1-cli (Python3.7 script for merging etc.)
RUN pip install -U solo-python RUN pip install -U solo1
# Rust for salty # Rust for salty
ENV RUSTUP_HOME=/rust/rustup ENV RUSTUP_HOME=/rust/rustup

Wyświetl plik

@ -63,9 +63,9 @@ git submodule update --init --recursive
## Installing the toolchain and applying updates ## Installing the toolchain and applying updates
In order to compile ARM code, you need the ARM compiler and other things like bundling bootloader and firmware require the [solo-python](https://github.com/solokeys/solo-python) python package. Check our [documentation](https://docs.solokeys.dev/) for details. In order to compile ARM code, you need the ARM compiler and other things like bundling bootloader and firmware require the [solo1](https://github.com/solokeys/solo1-cli) python package. Check our [documentation](https://docs.solokeys.dev/) for details.
You can update your solokey after running `pip3 install solo-python` with `solo key update` for the latest version. To apply a custom image use `solo program bootloader <file>(.json|.hex)`. You can update your solokey after running `pip3 install solo1` with `solo1 key update` for the latest version. To apply a custom image use `solo1 program bootloader <file>(.json|.hex)`.
## Installing the toolkit and compiling in Docker ## Installing the toolkit and compiling in Docker
Alternatively, you can use Docker to create a container with the toolchain. Alternatively, you can use Docker to create a container with the toolchain.
@ -103,8 +103,8 @@ cd ../..
make venv make venv
source venv/bin/activate source venv/bin/activate
solo program aux enter-bootloader solo1 program aux enter-bootloader
solo program bootloader targets/stm32l432/solo.hex solo1 program bootloader targets/stm32l432/solo.hex
``` ```
# Developing Solo (No Hardware Needed) # Developing Solo (No Hardware Needed)

Wyświetl plik

@ -9,9 +9,9 @@ The latest version can be determined using the file <https://github.com/solokeys
To update your key: To update your key:
- either visit <https://update.solokeys.com>, or - either visit <https://update.solokeys.com>, or
- use our commandline tool <https://github.com/solokeys/solo-python>: - use our commandline tool <https://github.com/solokeys/solo1-cli>:
``` ```
solo key update solo1 key update
``` ```
## Reporting a Vulnerability ## Reporting a Vulnerability

Wyświetl plik

@ -12,7 +12,7 @@ Install the [latest ARM compiler toolchain](https://developer.arm.com/open-sourc
You can also install the ARM toolchain using a package manager like `apt-get` or `pacman`, You can also install the ARM toolchain using a package manager like `apt-get` or `pacman`,
but be warned they might be out of date. Typically it will be called `gcc-arm-none-eabi binutils-arm-none-eabi`. but be warned they might be out of date. Typically it will be called `gcc-arm-none-eabi binutils-arm-none-eabi`.
Install `solo-python` usually with `pip3 install solo-python`. The `solo` python application may also be used for [programming](#programming). Install `solo1` usually with `pip3 install solo1`. The `solo` python application may also be used for [programming](#programming).
## Obtain source code and solo tool ## Obtain source code and solo tool
@ -23,9 +23,9 @@ Source code can be downloaded from:
**solo** tool can be downloaded from: **solo** tool can be downloaded from:
- from python programs [repository](https://pypi.org/project/solo-python/) `pip install solo-python` - from python programs [repository](https://pypi.org/project/solo1/) `pip install solo1`
- from installing prerequisites `pip3 install -r tools/requirements.txt` - from installing prerequisites `pip3 install -r tools/requirements.txt`
- github repository: [repository](https://github.com/solokeys/solo-python) - github repository: [repository](https://github.com/solokeys/solo1-cli)
- installation python enviroment with command `make venv` from root directory of source code - installation python enviroment with command `make venv` from root directory of source code
## Compilation ## Compilation
@ -75,7 +75,7 @@ We recommend using our `solo` tool as a serial emulator since it will automatica
reconnect each time you program Solo. reconnect each time you program Solo.
``` ```
solo monitor <serial-port> solo1 monitor <serial-port>
``` ```
#### Linux Users: #### Linux Users:
@ -99,7 +99,7 @@ make bootloader-nonverifying
This outputs `bootloader.hex`. We can then merge the bootloader and application. This outputs `bootloader.hex`. We can then merge the bootloader and application.
``` ```
solo mergehex bootloader.hex solo.hex bundle.hex solo1 mergehex bootloader.hex solo.hex bundle.hex
``` ```
`bundle.hex` is our complete firmware build. Note it is in this step that you can `bundle.hex` is our complete firmware build. Note it is in this step that you can
@ -108,7 +108,7 @@ By default the "hacker" attestation certifcate and key is used. Use the `--lock
to make this permanent. to make this permanent.
``` ```
solo mergehex \ solo1 mergehex \
--attestation-key "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF" \ --attestation-key "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF" \
--attestation-cert attestation.der \ --attestation-cert attestation.der \
solo.hex \ solo.hex \
@ -122,7 +122,7 @@ The new bootloader may be able to accept (signed) updates still, depending on ho
``` ```
# Permanent! # Permanent!
solo mergehex \ solo1 mergehex \
--attestation-key "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF" \ --attestation-key "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF" \
--attestation-cert attestation.der \ --attestation-cert attestation.der \
--lock \ --lock \

Wyświetl plik

@ -7,7 +7,7 @@ This page documents how to update or program your Solo.
To program Solo, you'll likely only need to use our Solo tool. To program Solo, you'll likely only need to use our Solo tool.
```python ```python
pip3 install solo-python pip3 install solo1
``` ```
## Updating the firmware ## Updating the firmware
@ -15,13 +15,13 @@ pip3 install solo-python
If you just want to update the firmware, you can run: If you just want to update the firmware, you can run:
```bash ```bash
solo key update solo1 key update
``` ```
You can manually install the [latest release](https://github.com/solokeys/solo/releases), or use a build that you made. You can manually install the [latest release](https://github.com/solokeys/solo/releases), or use a build that you made.
```bash ```bash
solo program bootloader <firmware.hex | firmware.json> solo1 program bootloader <firmware.hex | firmware.json>
``` ```
Note you won't be able to use `all.hex` or the `bundle-*.hex` builds, as these include the solo bootloader. You shouldn't Note you won't be able to use `all.hex` or the `bundle-*.hex` builds, as these include the solo bootloader. You shouldn't
@ -54,16 +54,16 @@ concern with using our default attestation key, aside from a small privacy impli
1. Boot into DFU mode. 1. Boot into DFU mode.
# Enter Solo bootloader # Enter Solo bootloader
solo program aux enter-bootloader solo1 program aux enter-bootloader
# Enter DFU # Enter DFU
solo program aux enter-dfu solo1 program aux enter-dfu
The device should be turned off. The device should be turned off.
2. Program the device 2. Program the device
solo program dfu <bundle-secure-non-solokeys.hex | bundle.hex> solo1 program dfu <bundle-secure-non-solokeys.hex | bundle.hex>
Double check you programmed it with bootloader + application (or just bootloader). Double check you programmed it with bootloader + application (or just bootloader).
If you messed it up, simply don't do the next step and repeat this step correctly. If you messed it up, simply don't do the next step and repeat this step correctly.
@ -73,7 +73,7 @@ concern with using our default attestation key, aside from a small privacy impli
Once Solo boots a secure build, it will lock the flash permantly from debugger access. Also the bootloader Once Solo boots a secure build, it will lock the flash permantly from debugger access. Also the bootloader
will only accept signed firmware updates. will only accept signed firmware updates.
solo program aux leave-dfu solo1 program aux leave-dfu
If you are having problems with solo tool and DFU mode, you could alternatively try booting into DFU If you are having problems with solo tool and DFU mode, you could alternatively try booting into DFU
by holding down the button while Solo is in bootloader mode. Then try another programming tool that works by holding down the button while Solo is in bootloader mode. Then try another programming tool that works
@ -84,7 +84,7 @@ with ST DFU:
* stlink * stlink
Windows users need to install [libusb](https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.6.0/) Windows users need to install [libusb](https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.6.0/)
for solo-python to work with Solo's DFU. for solo1 to work with Solo's DFU.
## Programming a Solo that hasn't been programmed ## Programming a Solo that hasn't been programmed
@ -93,13 +93,13 @@ A Solo that hasn't been programmed will boot into DFU mode. You can program
it by following a bootloader, or combined bootloader + application. it by following a bootloader, or combined bootloader + application.
``` ```
solo program dfu <bundle-*.hex | all.hex> solo1 program dfu <bundle-*.hex | all.hex>
``` ```
Then boot the device. Make sure it has a bootloader to boot to. Then boot the device. Make sure it has a bootloader to boot to.
``` ```
solo program aux leave-dfu solo1 program aux leave-dfu
``` ```
## Disable signed firmware updates ## Disable signed firmware updates
@ -108,7 +108,7 @@ If you'd like to also permanently disable signed updates, plug in your programme
```bash ```bash
# WARNING: No more signed updates. # WARNING: No more signed updates.
solo program disable-bootloader solo1 program disable-bootloader
``` ```
You won't be able to update to any new releases. You won't be able to update to any new releases.

Wyświetl plik

@ -6,14 +6,14 @@ Solo contains a True Random Number Generator (TRNG). A TRNG is a hardware based
that leverages natural phenomenon to generate random numbers, which can be better than a traditional that leverages natural phenomenon to generate random numbers, which can be better than a traditional
RNG that has state and updates deterministically using cryptographic methods. RNG that has state and updates deterministically using cryptographic methods.
You can easily access the TRNG stream on Solo using our python tool [`solo-python`](https://github.com/solokeys/solo-python). You can easily access the TRNG stream on Solo using our python tool [`solo1`](https://github.com/solokeys/solo1-cli).
``` ```
solo key rng raw > random.bin solo1 key rng raw > random.bin
``` ```
Or you can seed the state of the RNG on your kernel (`/dev/random`). Or you can seed the state of the RNG on your kernel (`/dev/random`).
``` ```
solo key rng feedkernel solo1 key rng feedkernel
``` ```

Wyświetl plik

@ -61,10 +61,10 @@ compilation terminated.
There are several ways, which are listed at the [build instructions](https://docs.solokeys.io/solo/building/). If you are familiar with pip, just use this. There are several ways, which are listed at the [build instructions](https://docs.solokeys.io/solo/building/). If you are familiar with pip, just use this.
```bash ```bash
pip install solo-python pip install solo1
#Or #Or
pip3 install solo-python pip3 install solo1
``` ```
**Install all other requirements** **Install all other requirements**
@ -128,13 +128,13 @@ make cbor
You should also make sure to check, that your key has the newest solo firmware installed. To check the firmware on the device, use this command: You should also make sure to check, that your key has the newest solo firmware installed. To check the firmware on the device, use this command:
```bash ```bash
solo key version solo1 key version
``` ```
To update to the newest version, use this command: To update to the newest version, use this command:
```bash ```bash
solo key update solo1 key update
``` ```
**Note:** Sometimes the connection between Mac and key seemed to be broken and you might get an error stating: _No solo found_. Just unplug the key and plug it back in. **Note:** Sometimes the connection between Mac and key seemed to be broken and you might get an error stating: _No solo found_. Just unplug the key and plug it back in.
@ -181,7 +181,7 @@ cd ../..
First we will have to change into bootload modus: First we will have to change into bootload modus:
```bash ```bash
solo program aux enter-bootloader solo1 program aux enter-bootloader
``` ```
This is needed to be able to load the new firmware on the device. If we forget this step, the solo tool will do it for us in the next step. This is needed to be able to load the new firmware on the device. If we forget this step, the solo tool will do it for us in the next step.
@ -189,7 +189,7 @@ This is needed to be able to load the new firmware on the device. If we forget t
This is the moment of truth. We delete the old firmware and deploy the new one with the changed LED lights to the solo key. For this step we will also stay in the source root. This is the moment of truth. We delete the old firmware and deploy the new one with the changed LED lights to the solo key. For this step we will also stay in the source root.
```bash ```bash
solo program bootloader targets/stm32l432/solo.hex solo1 program bootloader targets/stm32l432/solo.hex
``` ```
If there is another hex-File, that you want to load, you can just exchange the last argument. If there is another hex-File, that you want to load, you can just exchange the last argument.
@ -212,8 +212,8 @@ make build-hacker
cd ../.. cd ../..
#Enter bootloader mode #Enter bootloader mode
solo program aux enter-bootloader solo1 program aux enter-bootloader
#Deploy code #Deploy code
solo program bootloader targets/stm32l432/solo.hex solo1 program bootloader targets/stm32l432/solo.hex
``` ```

Wyświetl plik

@ -1,6 +1,6 @@
ecdsa ecdsa
intelhex intelhex
pyserial pyserial
solo-python
pyusb pyusb
solo1
wheel wheel