1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 04:30:33 +00:00
Commit Graph

770 Commits

Author SHA1 Message Date
Carles Fernandez
7367b56725
Improve test (#21)
* Clang Tidy fixes

* Improve GnssCryptoTest.VerifyPublicKeyStorage test

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-06 12:28:01 +02:00
Carles Fernandez
8a45df29a8
Some API improvements and a bug fix (#18)
* Clang Tidy fixes

* Fix reading of .crt files with GnuTLS

* Hide d_crypto pointer from public API

* Read public key type also from .pem files

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-05 10:29:01 +02:00
Carles Fernandez
6beb92278f
Read type of public key (#16)
* Clang Tidy fixes

* Improve reading public key type

* Update osnma_nav_data_manager.cc

hotfix

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-02 09:38:37 +02:00
cesaaargm
a47cf1187c [TAS-255] [BUG] Assure time synch. is properly done
if d_flag_debug=false, now system clock is used to for the receiver synchronisation. It uses the UTC time and the GST epoch start time (adjusted for local time zone difference) to create a local estimation of GST, then compares with GST_SIS (coming from NavData Words 5 and 6)
2024-08-01 11:52:28 +02:00
cesaaargm
2db37f384e [TAS-242][FEAT] Implement alert message handling
* Test show that behavior is as expected.
* interestingly, the first batch of Tags after OAM received fail, then succeeds, until OAM is verified and OSNMA is disabled.
2024-07-31 17:08:06 +02:00
Carles Fernandez
07cbf2c01f
Fixes for GnuTLS and OpenSSL < 3 (#14)
* Fix set_public_key when using GnuTLS

* Fix for OpenSSL 1.1.1

* Fix formatting

* Fix formatting

* Fix ECDSA-P521 signature verification when using GnuTLS

* Improve finding of the GMP library in Debian-based systems

* Improve finding of the GMP library in Debian-based systems

* Keep GMP usage private
2024-07-30 18:00:41 +02:00
cesaaargm
26f77a3c42 [TAS-250] (x2) [FEAT] Implement PK renewal and revocation.
* Revocation implemented and tested. DSM-KROOT appears to be corrupted because length check fails after start of step 1, during steps 2 and 3.
2024-07-30 12:25:22 +02:00
cesaaargm
440dc582b5 [TEST][OsnmaTestVector] refactor parsing code into feedOsnmaWithTestVectors method.
* could not find a way to access osnma private methods, so had to make d_crypto and msg_handler_osnma public. Looking for a way to avoid that.
2024-07-29 15:21:35 +02:00
cesaaargm
fc1541ef10 [TAS-250] [FEAT] Implement PK renewal and revocation. 2024-07-29 12:18:08 +02:00
cesaaargm
5675b996e8 [TAS-251] set_public_key accepts compressed ECDSA PK. Make Crypto tests pass again (OSSL3 and OSSL<3)
* both P256 and P521 curves. Tested successfully.
2024-07-29 12:16:55 +02:00
cesaaargm
a947f10fd8 [TAS-246] [TEST] CI/CD set up - more fixes 2024-07-27 21:50:33 +02:00
cesaaargm
a4cfe51515 [TAS-248] [BUG][Kroot] Kroot and PK available, but until DSM-Kroot arrived no MACK processing
* reverted commit [TAS-247][FEAT][Kroot] enable hotstart with last known Kroot
* DSM-KROOT loaded during startup
* if new DSM verified => stored
* this improves TTFAF from 4 min to 1 minute.
2024-07-27 18:25:20 +02:00
Carles Fernandez
c54f941dce
Adapt to new API 2024-07-26 18:26:15 +02:00
Carles Fernandez
6cfc8a351f
Adapt to new API 2024-07-26 18:20:24 +02:00
Carles Fernandez
ec127089ab
Fix building of OSNMA tests 2024-07-26 18:12:52 +02:00
cesaaargm
06e0c4b63a [TAS-247][FEAT][Kroot] enable hotstart with last known Kroot
* Kroot is now saved into binary file if successfuly verified.
* on startup, file is checked first.
* This should enable a much quicker TTFAF
2024-07-26 18:03:21 +02:00
cesaaargm
e0506eaf9b Consider CI/CD comments (x2) 2024-07-25 19:03:57 +02:00
cesaaargm
84b16cd54d Merge branch 'osnma-cesare-fix10' of https://github.com/carlesfernandez/gnss-sdr into carlesfernandez-osnma-cesare-fix10 2024-07-25 14:48:29 +02:00
cesaaargm
8566eca92f [TAS-238][FEAT] Implement Tag accumulation
* New class: osnma_nav_data_manager => manages navigation data coming to osnma
* navigation data is grouped now avoiding duplication => a NavData entry has now TOW_start and TOW_end
* tag accumulation: now, navigation data has verified_bits field, which shows how many tags have verified that data. unless L_T_min achieved, validation is not considered successful
2024-07-25 14:08:34 +02:00
Carles Fernandez
39f94dcbe6
Code cleaning 2024-07-23 12:15:43 +02:00
Carles Fernandez
1a2cbe4506
Code cleaning 2024-07-20 21:25:53 +02:00
Carles Fernandez
d687193156
Improve consistency of public API member function names in Gnss_Crypto 2024-07-18 10:49:52 +02:00
Carles Fernandez
659ef2f0a8
Improve code formatting 2024-07-18 07:53:53 +02:00
Carles Fernandez
fcb20cb914
Add ECDSA P-521 signature verification algorithm 2024-07-17 19:53:21 +02:00
Carles Fernandez
1c26d43e2d Add function to store the public key in a .pem file 2024-07-15 17:20:40 +02:00
cesaaargm
f534ef859c [TAS-212] [TEST] implement tests for DSM-PKR Verification
* VerifyPublicKey, ComputeBaseLeaf, ComputeMerkleRoot
* Refactored verify_dsm_pkr to allow for the new tests
* add  convert_from_hex function in the helper
2024-07-09 17:13:40 +02:00
cesaaargm
aede664b5a [TAS-232 ] [FEAT] verify tag m0
* add new constructor to Tag for Tag0
* minor reporting and comments.
* forgot an include from fix5 merge
* gitignore release folder
2024-07-03 18:45:40 +02:00
cesaaargm
adb3b455ea Merge branch 'osnma-cesare-fix5' of https://github.com/carlesfernandez/gnss-sdr into carlesfernandez-osnma-cesare-fix5 2024-07-02 13:54:34 +02:00
cesaaargm
b77784d1f3 [TAS-227] [BUG] Tag verification fails for .dat files 2024-07-02 13:34:37 +02:00
Carles Fernandez
413e5309ba
Add missing include 2024-06-30 10:10:03 +02:00
Carles Fernandez
db5466832c
Look for OpenSSL in the first place, fallback to GnuTLS if not found
Fix test building in some environments
2024-06-29 11:11:20 +02:00
cesaaargm
1d815f0bbf [TAS-227] [BUG] Tag verification fails for .dat files (WIP)
WIP
2024-06-27 23:36:40 +02:00
Carles Fernandez
584b95e62e
Fix CMAC-AES implementation in OpenSSL>3.0.0. Add unit test 2024-06-24 14:01:34 +02:00
Carles Fernandez
a704c10044
Add SHA_256 unit test 2024-06-23 13:34:57 +02:00
Carles Fernandez
378820e76b
Add unit test for SHA3-256 hash algorithm 2024-06-23 13:10:38 +02:00
Carles Fernandez
1bc6d466c5
Fix conflict 2024-06-23 11:26:36 +02:00
Carles Fernandez
8dfd341d2c
Fix tests building 2024-06-23 11:10:40 +02:00
cesaaargm
849a900adf [TAS-228] [FEAT] adapt osnma test vector to new navData passing
All tags either verified SUCCESSFULLY or Skipped.
Skipping issue still present.
2024-06-22 14:54:08 +02:00
cesaaargm
ed32e84402 [TAS-221] [BUG] FLX tag verification fails for recorded signals but succeeds for configuration_2 (otv)
Implemented changes to ensure accurate computation of the d_GST_Sf in message receiver. Checked test is not affected by this. Logging improvements have been made.
2024-06-11 18:33:58 +02:00
cesaaargm
4f7a22f35c [TAS-219] Configuration_2, num_of_hashes needed huge
- Confused PK date with recording date, lead to Kroot time to be in the future (impossible)
2024-06-10 19:01:17 +02:00
cesaaargm
6671d9bf7b [TAS-213] implement configuration_2 osnma test vectors
TODO - parametrize test, since now the hardcoded configuration files are to be selected.
2024-06-09 22:22:39 +02:00
cesaaargm
6508e985a1 [TAS-206] [Feature] NavData for ADKD=4 for osnma_test_vector. 2024-06-04 17:35:00 +02:00
cesaaargm
434fff9cbf [TAS-203] bug osnma_test_vector_config_1 II
bug in build_message (PRN_d instead of PRNa)
tags_awaiting_verification increase buffer size
Reporting: modify tag reporting
2024-06-03 19:59:32 +02:00
cesaaargm
b0eb958be0 [TAS-203] bug osnma_test_vector_config_1
adkd dependence on key selection
2024-05-22 21:01:24 +02:00
cesaaargm
163c915c72 [TAS-161] debug tag_verification :: extract build_message, unit test for BuildTagMessageM0 and fix unit test for TagVerification 2024-05-22 16:58:30 +02:00
cesaaargm
d52603aba5 [TAS-161] debug tag_verification :: extract build_message, unit test for BuildTagMessageM0 and fix unit test for TagVerification 2024-05-21 18:08:25 +02:00
cesaaargm
a53b92b861 [TAS-200] gnss_crypto_test :: extend unit test for m0 and adkd4 2024-05-20 15:36:50 +02:00
cesaaargm
5cee46aa06 [TAS-199] Add TagVerification test. Bugfix for verify_tag and osnma_helper. 2024-05-19 18:16:52 +02:00
cesaaargm
059e5e98d8 Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into osnma-cesare 2024-05-12 12:54:34 +02:00
cesaaargm
a3a5f28e7f [TAS-174] retrieve NavData (W1→W5) directly from osnma test vector file. Add Osnma_Helper class. remove tag.build_message. Ignore W33. Reporting changes. 2024-05-12 11:34:48 +02:00