3bdbde57c7
feat: Add Windows compatibility using coincurve
2025-03-27 15:49:30 -06:00
ddf68ee4e0
rebuild protobufs with protoc v30.1
2025-03-23 16:49:19 -06:00
ea85067beb
check other cases and add test_rsa.py
2025-03-16 07:02:53 -06:00
e150d3153a
rufuse large RSA keys
2025-03-16 07:02:53 -06:00
8787613e91
run lint with pyupgrade at py39-plus
2025-01-25 15:48:39 -07:00
125df142f6
bump protobufs dep to >= 5.27.2 and rebuild protobufs definitions with protoc 27.2
2024-07-04 17:04:06 -06:00
c5cc0ee969
run mypy locally, bump mypy to 1.10.0, fix new errors
2024-07-04 13:19:00 -06:00
c770a05d23
rebuild protobufs adding ECC_P256 to KeyType
2024-04-27 12:17:54 -06:00
8dda7b933e
turn mypy checks back on, fix some errors
2024-04-27 10:12:39 -06:00
ee4e9c4645
rename libp2p test dir and rebuild protobufs
2024-03-02 11:10:05 -07:00
94483714a3
run lint and fix errors, except mypy
2024-02-19 16:05:58 -07:00
0a9f8d23a3
Update ed25519.py
...
Don't hash data passed to nacl library in Ed25519PublicKey.verify
2021-03-16 08:55:44 +01:00
b1248ff315
enforced f-strings everywhere, %s on logging
...
extended _multiaddr_from_socket to support UDP and IPv6 automatically
changed TCPListener to use _ip4_or_6_from_multiaddr to get host, and not ip4 only
enforced `from error` everywhere with raises
added call braces to exceptions
2019-12-19 17:31:18 +01:00
27ecd4b0ed
Mock dependencies that are excluded in readthedocs
...
It seems preferable to import just fastecdsa. But if you do that,
then some kind of side-effect doesn't happen, which means that `sec1` is
not available as an attribute on `fastecdsa.encoding`.
So we specifically mock the sub-modules as well.
2019-11-27 14:07:14 -08:00
b8ec43a859
remove type:ignore for working pycryptodome type
...
I didn't dig deeper, it looks like pycryptodome must have fixed their
pkcs1_15.new andd pkcs1_15.verify type signatures.
2019-11-15 11:25:03 -08:00
ded3792924
Merge pull request #331 from dmuhs/fix/docs-format
...
Add automatic docstring formatting
2019-10-28 09:39:52 -06:00
f2bfc68f6d
Re-generate protobufs
2019-10-25 18:51:57 +09:00
bafdd8512d
Enforce pre-summary newline in docstrings
2019-10-24 20:10:45 +02:00
eef505f2d9
Add automatic docstring formatter and apply
2019-10-24 08:41:10 +02:00
75ec2facce
linter fix
2019-09-24 10:07:33 -07:00
487c923791
add ed25519 private key deserializer
2019-09-24 10:06:35 -07:00
bbd8279811
Add explicit exception if we are missing a deserializer
2019-09-24 09:51:32 -07:00
6e53849604
Delete utils in favor of serialization module
2019-09-24 09:51:31 -07:00
5fdca2ffb2
Add public key implementation
2019-09-24 09:51:31 -07:00
fa7d1d66a8
Fix import path
2019-09-24 09:51:31 -07:00
b142964d31
Adds support for verifying ed25519 signatures, for secio
2019-09-24 09:51:31 -07:00
451ec2664a
Address incorrect typing in pycryptodome dependency
2019-09-04 10:19:27 -07:00
f86ba7283d
Implement signing for RSA
...
- mainly for use in `secio` w/ RSA-based identities b/t peers
2019-09-04 10:12:43 -07:00
25f504ad35
Allow RSA public key type when deserializing keys
2019-09-04 10:12:43 -07:00
30456f8018
Use a different ECC backend with a compatible serializer
...
This library has the ``SEC1`` encoder which is compatible
with the serialization of ECC keys/points used in the Go libp2p impl
2019-09-03 13:44:25 -07:00
fa0acd9fc5
Apply PR feedback
2019-08-26 10:03:12 -07:00
c1ffb03f77
Update comment to reflect correct function
2019-08-26 09:51:49 -07:00
7c004a4e14
Mypy fixes
2019-08-24 22:38:26 +02:00
b8c0ef9ebb
Fix bugs in secio implementation
2019-08-24 22:38:25 +02:00
1adef05e94
Typing and linting fixes
2019-08-24 22:37:45 +02:00
8e913a3faa
Dispatch serialization of keys based on key type
...
- Add some tests to check high-level roundtrip
2019-08-24 22:37:45 +02:00
af2e50aaf4
Add facility for authenticated encryption
2019-08-24 22:37:45 +02:00
228c17ae9e
Add ECDH key exchange utility
2019-08-24 22:37:44 +02:00
fb13dfa7b3
Add sign and verify operations for secp256k1 keys
2019-08-24 22:37:44 +02:00
3c97a5a0ed
Add ECC key implementation
2019-08-24 22:37:44 +02:00
b516579256
Remove the unnecessary RSAPrivateKey.from_bytes
2019-08-22 22:54:14 +08:00
3e04480d62
Raise HandshakeFailure in transport
...
Change the exception handling flow.
Raise `SecurityUpgradeFailure` in security_multistream.
2019-08-22 22:53:48 +08:00
921bfb65cc
Verify the remote pubkey and peer_id
...
- Add `from_bytes` in RSAPublicKey and Secp256k1PublicKey
- Add `pubkey_from_protobuf` to parse pubkey from protobuf
- Verify key and peer_id in `InsecureSession.run_handshake`
2019-08-22 22:53:48 +08:00
5192944724
Update pb
2019-08-22 22:53:46 +08:00
e1d3f1601f
Satisfy mypy
2019-08-20 19:28:32 +02:00
87d943aa39
Internalize the protobuf serialization to the concept of a Key
...
Given its use across various components of `libp2p` (not just peer IDs),
it makes the abstraction cleaner to pull the serialization into the
key class and expose the canonical serialization to bytes.
2019-08-20 19:01:36 +02:00
8cd23abfe2
Remove the leftover merge related stuff
2019-08-16 11:03:16 +08:00
e293b89925
Fix mypy
...
It seems the stub doesn't allow default value for params
2019-08-16 11:03:16 +08:00
f2c31f6fe3
Fix isort
2019-08-16 11:03:16 +08:00
e37b8bcf19
mypy: Add read_buffer_nonblocking in Mplex
2019-08-16 11:03:16 +08:00