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

6580 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
a1ef563988
Fix for OpenSSL 1.0 (#20)
* Clang Tidy fixes

* Fix for OpenSSL 1.0

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-05 13:06:28 +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
3457b8ed3b
Get time zone offset in a more standard way (#17)
* Clang Tidy fixes

* Get time zone offset in a more standard way

Account for leap seconds
Use GNSS-SDR.osnma_mode=strict to check for local time

* Fix for C++20

* Initialize tm in a more portable way

* Remove unnecessary data members in osnma_msg_receiver

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-03 19:58:34 +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
960e76e3a0 Clang Tidy fixes 2024-08-01 19:16:47 +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
cesaaargm
02c5d26dcc [TAS-250] (x3) [FEAT] Implement PK renewal and revocation. Bugfix for DS length computation.
* it was based on the HF field, which is not correct. It was discovered when the PK was P521 instead of P256 then the Padding size check was failing due to this.
* The solution is temporary:
** GNSS_Crypto: when reading the key, the type is inferred (only for OSSL for the moment)
** when PK comes through the satellites, the public key type is taken from the NPKT field.
2024-07-30 18:09:07 +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
491a4ab40f
Add missing include 2024-07-27 07:48:34 +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
Carles Fernandez
3cc12e9b66
Add basic infrastructure for the GNSS-SDR.osnma_mode=strict mode 2024-07-25 21:40:43 +02:00
cesaaargm
e0506eaf9b Consider CI/CD comments (x2) 2024-07-25 19:03:57 +02:00
cesaaargm
95aea155f0 Merge branch 'carlesfernandez-osnma-cesare-fix10' into osnma-cesare 2024-07-25 15:40: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
8a208d57d8
Add benchmarks for cryptographic functions 2024-07-24 21:02:39 +02:00
Carles Fernandez
8ff339671b
Code cleaning 2024-07-24 20:39:40 +02:00
Carles Fernandez
70315ecfae
Fix formatting 2024-07-23 17:32:47 +02:00
Carles Fernandez
49eb854b16
Fix formatting 2024-07-23 16:51:59 +02:00
Carles Fernandez
39f94dcbe6
Code cleaning 2024-07-23 12:15:43 +02:00
Carles Fernandez
6ae7684ba7
Fix const correctness 2024-07-22 12:59:54 +02:00
Carles Fernandez
d0a1825c24
Fix defects detected by clang-tidy 2024-07-22 12:52:06 +02:00
Carles Fernandez
8fd6e4dc40
Improve const correctness 2024-07-22 09:46:28 +02:00
Carles Fernandez
c5c58c8d1d
Fix defects detected by clang-tidy 2024-07-22 08:24:12 +02:00
Carles Fernandez
2378fb4fbc
Fix for CMake 3.30 2024-07-20 21:44:06 +02:00
Carles Fernandez
0e6e39da44
Merge branch 'next' of github.com:carlesfernandez/gnss-sdr into osnma-cesare-fix9 2024-07-20 21:37:43 +02:00
Carles Fernandez
1a2cbe4506
Code cleaning 2024-07-20 21:25:53 +02:00
Carles Fernandez
82973db0d6
Fixes for old GnuTLS 2024-07-18 14:37:02 +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
cb0c0d02fb
Fix ECDSA P-521 in GnuTLS 2024-07-18 08:43:03 +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
a06897590b Add current values of the Merkle Tree by default 2024-07-15 17:20:40 +02:00
Carles Fernandez
fe36fe7a60 Fix certificate reading when using GnuTLS 2024-07-15 17:20:40 +02:00
Carles Fernandez
d79ee8497f Store public key when received from a DSM-PKR message 2024-07-15 17:20:40 +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
fdb6c079e9 [TAS-223][FEAT] discard only failed FLX tags, not all belonging to MACK
Refactored the verification process of MAC sequences in the OSNMA message receiver. Added a function to selectively verify and return tags for which the verification was successful. Replaced usage of direct verification and tag addition with calls to this function.
Made corresponding changes to the data structure to accommodate a counter for each tag.
2024-07-15 17:11:18 +02:00
Carles Fernandez
20d664a8b7
Fix building with CMake 3.30 in old setups 2024-07-10 21:59:33 +02:00
Carles Fernandez
8f80007a4e
Fix building with CMake 3.30 2024-07-10 20:37:16 +02:00