Adrien Beraud
1aeb596b04
crypto: fix warning
2024-11-04 16:39:35 -05:00
AmnaSnene
5dc3d3cfd7
Raise an error if any Identity file fails to save
2024-11-04 12:08:34 -05:00
liufei
44f6d21c83
DecryptError cause by low level error
2024-07-23 11:37:26 -04:00
Matthew Webb
76a2bd234a
Get off of deprecated GCM AES methods
...
Multiple compiler warnings note that the gcm_aes_* family of functions are deprecated. They have been replaced with gcm_aes<key_length>_*. This change uses the correct set of functions based on the given key size. Resolves #571 .
Sample compiler warning:
/home/noviv/opendht/src/crypto.cpp: In function ‘dht::Blob dht::crypto::aesEncrypt(const uint8_t*, size_t, const dht::Blob&)’: /home/noviv/opendht/src/crypto.cpp:97:20: warning: ‘void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)’ is deprecated [-Wdeprecated-declarations]
97 | gcm_aes_set_key(&aes, key.size(), key.data());
| ^
In file included from /home/noviv/opendht/src/crypto.cpp:27:
/usr/include/nettle/gcm.h:276:1: note: declared here
276 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
| ^~~~~~~~~~~~~~~)
https://github.com/gnutls/nettle/commit/6a19845e6f71791ca98765d490ec08e776494bee marked the functions as deprecated.
2024-07-11 10:07:05 -04:00
Lucas Dias
9eea01202a
make crypto error messages more readable
...
Add verifications to gnutls calls and throw expcetion
with readable messages.
For example, if call loadIdentity and crt file has name
different of private key exception message was
Can't get certificate public key ID: ASN1 parser: Value was not found.
However, the real problem is that crt file was not found.
Now, for the same problem the exception message will be:
Error while reading file.
Signed-off-by: Lucas Dias <lucas_dias@redes.ufsm.br >
2024-06-09 15:46:34 -03:00
Adrien Béraud
acde8fa6ec
crypto: remove legacy decrypt
2024-03-24 18:12:27 -04:00
Adrien Béraud
f7e4533282
crypto: always zero-initialize gnutls_datum_t
2024-03-24 15:45:52 -04:00
Adrien Béraud
b03df3f7a6
aesEncrypt: allow to provide salt
2024-01-02 15:18:44 -05:00
Adrien Béraud
23d07dae38
rng: drop custom random_device implementation for MinGW/Windows
...
MinGW now has std::random_device support on Windows:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85494
2023-12-10 15:18:59 -05:00
Adrien Béraud
0592b9ff51
crypto: add aesBuildEncrypted
2023-12-03 22:03:22 -05:00
Adrien Béraud
24e7b00e4e
crypto: add aesGetKey, aesGetSalt, aesGetEncrypted
...
Allows to retrieve the encryption key and salt from
an encrypted blob, leading the way for biometry support.
2023-11-28 10:49:41 -05:00
Moreno Giussani
ac9d7942ce
Add loadIdentity
2023-11-07 09:29:46 -05:00
Adrien Béraud
fafd2f0233
update copyright year
2023-06-02 23:16:04 -04:00
Adrien Beraud
51525d144b
certificate: add public key cache
2023-03-15 20:44:29 -04:00
Adrien Béraud
12a52c78ac
x509: make PrivateKey::getPublicKey() thread-safe
2022-06-28 14:12:45 -04:00
Adrien Béraud
dc9a211fb0
crypto: protect Id caching with atomic_bool
2022-06-27 15:40:45 -04:00
Adrien Béraud
d49b394eae
crypto: cache public key id
2022-06-27 15:40:45 -04:00
Adrien Béraud
f82c68a871
crypto: remove support for GnuTLS < 3.4
2022-06-27 15:40:45 -04:00
Adrien Béraud
9c2268fa41
fix various cppcheck warnings/errors
2022-03-29 10:15:00 -04:00
Adrien Béraud
c59f951e5a
update copyright
2022-03-10 19:51:25 -05:00
Adrien Béraud
75f1b07e7a
crypto: cleanup
2022-01-26 14:16:33 -05:00
Sébastien Blin
1b2bc7b1e3
crypto: add parameter to change Certificate's validity period
...
This allow to create certificate with a different validity than
10 years and be able to change the expiration of a certificate
2022-01-19 14:51:45 -05:00
Adrien Béraud
2fbafc3591
crypto: cache Certificate Id
2021-09-16 11:08:02 -04:00
Adrien Béraud
8aef63ce4a
crypto: cache public key
2021-06-07 14:45:58 -04:00
Adrien Béraud
efb5f8e36a
crypto: avoid generating 0 or negative certificate serial numbers
2021-05-15 01:08:07 -04:00
Adrien Béraud
41760e4b65
ocsp response: improve exception message
2021-03-25 00:02:51 -04:00
Adrien Béraud
d0156b4637
crypto: add OcspRequest
2021-03-24 23:29:18 -04:00
Adrien Béraud
f6cca88593
ocsp response: verifyDirect now returns revocation status
2021-03-24 23:11:59 -04:00
Adrien Béraud
c6da80573e
ocsp: fix leak
2021-03-24 23:09:24 -04:00
Adrien Béraud
5c599b2feb
ocsp: check the appropriate field for status
2021-03-22 13:54:39 -04:00
Adrien Béraud
5a370cabb5
crypto: disable legacy encryption
...
Require OpenDHT 2.x to decrypt encrypted data
2021-03-18 10:37:28 -04:00
Adrien Béraud
d025f9d1b5
crypto: add methods to sign/decrypt raw data
2021-03-18 10:35:35 -04:00
Adrien Béraud
a77dc855f0
OCSP: use RFC-mandated parameters
...
* use 32 bytes nounce
* use SHA-1 for the certificate ID
2020-12-17 12:35:33 -05:00
Adrien Béraud
17e1cfbbbe
crypto: export OCSP request as string
2020-11-20 11:38:11 -05:00
Adrien Béraud
bfe1311ca8
crypto: cleanup OCSP result check
2020-11-19 17:12:54 -05:00
Adrien Béraud
0d31139402
crypto: throw in case of certificate generation error
2020-11-16 17:35:00 -05:00
Adrien Béraud
cf1874baaa
crypto: free token before return
2020-06-15 18:25:23 -04:00
Adrien Béraud
ae05bc8ea5
crypto: avoid goto
2020-06-15 17:47:32 -04:00
Seva
acbf7cfcf0
crypto: cleanup ocsp api & tests
2020-06-15 17:47:32 -04:00
Seva
8250116946
crypto: embed ocsp response into class
2020-06-15 17:47:32 -04:00
Seva
45e9458373
crypto: add get ocsp response in readable format
2020-06-15 17:47:32 -04:00
Seva
2623b86274
crypto/cert: add generate ocsp request & verify response
2020-06-15 17:47:32 -04:00
Seva
e26256b819
crypto: add get ocsp response certificate status
2020-06-15 17:47:32 -04:00
Seva
a7a3d23f50
crypto: add get serial number of cert.
2020-06-15 17:47:32 -04:00
Adrien Béraud
616d6fe4b8
update copyright date
2020-01-03 15:14:32 -05:00
Adrien Béraud
7094b79714
crypto: add PublicKey::pack(uint8_t* out, size_t* out_len)
2019-12-14 15:29:42 -05:00
Adrien Béraud
fea736428e
msgpack: take const reference in unpack
2019-12-14 13:01:24 -05:00
Adrien Béraud
f331f39c77
c wrapper: add dht_privatekey_export
2019-12-05 18:35:43 -05:00
Adrien Béraud
c0e117871e
c wrapper: allow retrieving value owner and recipient
2019-10-28 15:25:31 -04:00
Adrien Béraud
f84131c820
crypto: improve authenticated encryption performance
2019-10-22 13:59:36 -04:00