diff --git a/.github/workflows/test-vectors.yml b/.github/workflows/test-vectors.yml index 786864b..5125cdb 100644 --- a/.github/workflows/test-vectors.yml +++ b/.github/workflows/test-vectors.yml @@ -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 diff --git a/README.md b/README.md index 2519f9a..6c81efe 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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. diff --git a/utils/run_test_vectors.sh b/utils/run_test_vectors.sh index 920fcd4..f077bc8 100755 --- a/utils/run_test_vectors.sh +++ b/utils/run_test_vectors.sh @@ -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)"