Skip to content

Commit

Permalink
update OSNMA test vectors
Browse files Browse the repository at this point in the history
The GSC has updated the OSNMA test vectors to fix the problem with
the public key for Merkle Tree 3 (the key distributed in the previous
test vector didn't belong to this Merkle Tree). The URL of the test
vectors has changed, and the version of the Receiver Guidelines has
been bumped.
  • Loading branch information
daniestevez committed Jan 26, 2024
1 parent db639a1 commit 633f0b6
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 11 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/test-vectors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
run: pip install ecdsa
- name: Download test vectors
run: |
wget --quiet https://www.gsc-europa.eu/sites/default/files/sites/all/files/Annex_B_Test_Vectors.zip
unzip Annex_B_Test_Vectors.zip
wget --quiet https://www.gsc-europa.eu/sites/default/files/sites/all/files/Test_vectors.zip
unzip Test_Vectors.zip
- name: Run test vectors
run: RUST_LOG_STYLE=always ./utils/run_test_vectors.sh Test_vectors
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ The following reference documents from the Galileo system are relevant:

* [Galileo OSNMA SIS ICD v1.1](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OSNMA_SIS_ICD_v1.1.pdf).

* [Galileo OSNMA Receiver Guidelines v1.1](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OSNMA_Receiver_Guidelines_v1.1.pdf)
* [Galileo OSNMA Receiver Guidelines v1.3](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OSNMA_Receiver_Guidelines_v1.3.pdf)

## Quick start using Galmon

Expand Down Expand Up @@ -182,9 +182,9 @@ functionality and usability of galileo-osnma:
## OSNMA Test Vectors

There is a script `run_test_vectors.sh` that is used to run the
[OSNMA Test Vectors](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Annex_B_Test_Vectors.zip)
[OSNMA Test Vectors](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Test_vectors.zip)
provided as an annex to the
[OSNMA Receiver Guidelines v1.2](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OSNMA_Receiver_Guidelines_v1.2.pdf).
[OSNMA Receiver Guidelines v1.3](https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo_OSNMA_Receiver_Guidelines_v1.3.pdf).
The script uses the small application in the `osnma-test-vectors-to-galmon`
folder to convert the CSV test vectors into the Galmon transport format, and
pipes this data into the `galmon-osnma` application.
Expand Down
9 changes: 3 additions & 6 deletions utils/run_test_vectors.sh
Original file line number Diff line number Diff line change
Expand Up @@ -339,12 +339,9 @@ echo "Navigation data authentication should be successful, since there are also
echo "signed with the public key from the new Merkle tree."
echo ""

# The PublicKey files for Merkle_tree_3 are wrong (they don't match the public key in the
# Merkle tree XML file, nor the pubkey used in the OSNMA test vectors).
#
# We load the pubkey from the Merkle tree instead

$SEC1_TO_PEM $($GET_PUBKEY_FROM_MERKLE ${TEST_VECTOR_DIR}/cryptographic_material/Merkle_tree_3/MerkleTree/OSNMA_MerkleTree_20231007201500_PKID_1.xml) > $PUBKEY
openssl x509 \
-in "${TEST_VECTOR_DIR}/cryptographic_material/Merkle_tree_3/PublicKey/OSNMA_PublicKey_20231007201500_PKID_1.crt" \
-noout -pubkey > $PUBKEY
PKID=1
MERKLE="$($GET_MERKLE ${TEST_VECTOR_DIR}/cryptographic_material/Merkle_tree_3/MerkleTree/OSNMA_MerkleTree_20231007201500_PKID_1.xml)"

Expand Down

0 comments on commit 633f0b6

Please sign in to comment.