mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2025-12-31 20:36:24 +00:00
run lint and fix errors, except mypy
This commit is contained in:
@ -1,4 +1,6 @@
|
||||
from libp2p.security.exceptions import HandshakeFailure
|
||||
from libp2p.security.exceptions import (
|
||||
HandshakeFailure,
|
||||
)
|
||||
|
||||
|
||||
class SecioException(HandshakeFailure):
|
||||
@ -6,10 +8,10 @@ class SecioException(HandshakeFailure):
|
||||
|
||||
|
||||
class SelfEncryption(SecioException):
|
||||
"""Raised to indicate that a host is attempting to encrypt communications
|
||||
with itself."""
|
||||
|
||||
pass
|
||||
"""
|
||||
Raised to indicate that a host is attempting to encrypt communications
|
||||
with itself.
|
||||
"""
|
||||
|
||||
|
||||
class PeerMismatchException(SecioException):
|
||||
|
||||
@ -13,4 +13,4 @@ message Propose {
|
||||
message Exchange {
|
||||
optional bytes ephemeral_public_key = 1;
|
||||
optional bytes signature = 2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,143 +1,221 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: libp2p/security/secio/pb/spipe.proto
|
||||
|
||||
import sys
|
||||
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
|
||||
|
||||
_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))
|
||||
from google.protobuf import descriptor as _descriptor
|
||||
from google.protobuf import message as _message
|
||||
from google.protobuf import reflection as _reflection
|
||||
from google.protobuf import symbol_database as _symbol_database
|
||||
|
||||
# @@protoc_insertion_point(imports)
|
||||
|
||||
_sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='libp2p/security/secio/pb/spipe.proto',
|
||||
package='spipe.pb',
|
||||
syntax='proto2',
|
||||
serialized_options=None,
|
||||
serialized_pb=_b('\n$libp2p/security/secio/pb/spipe.proto\x12\x08spipe.pb\"_\n\x07Propose\x12\x0c\n\x04rand\x18\x01 \x01(\x0c\x12\x12\n\npublic_key\x18\x02 \x01(\x0c\x12\x11\n\texchanges\x18\x03 \x01(\t\x12\x0f\n\x07\x63iphers\x18\x04 \x01(\t\x12\x0e\n\x06hashes\x18\x05 \x01(\t\";\n\x08\x45xchange\x12\x1c\n\x14\x65phemeral_public_key\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c')
|
||||
name="libp2p/security/secio/pb/spipe.proto",
|
||||
package="spipe.pb",
|
||||
syntax="proto2",
|
||||
serialized_options=None,
|
||||
serialized_pb=_b(
|
||||
'\n$libp2p/security/secio/pb/spipe.proto\x12\x08spipe.pb"_\n\x07Propose\x12\x0c\n\x04rand\x18\x01 \x01(\x0c\x12\x12\n\npublic_key\x18\x02 \x01(\x0c\x12\x11\n\texchanges\x18\x03 \x01(\t\x12\x0f\n\x07\x63iphers\x18\x04 \x01(\t\x12\x0e\n\x06hashes\x18\x05 \x01(\t";\n\x08\x45xchange\x12\x1c\n\x14\x65phemeral_public_key\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c'
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
_PROPOSE = _descriptor.Descriptor(
|
||||
name='Propose',
|
||||
full_name='spipe.pb.Propose',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='rand', full_name='spipe.pb.Propose.rand', index=0,
|
||||
number=1, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='public_key', full_name='spipe.pb.Propose.public_key', index=1,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='exchanges', full_name='spipe.pb.Propose.exchanges', index=2,
|
||||
number=3, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='ciphers', full_name='spipe.pb.Propose.ciphers', index=3,
|
||||
number=4, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='hashes', full_name='spipe.pb.Propose.hashes', index=4,
|
||||
number=5, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
serialized_options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto2',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=50,
|
||||
serialized_end=145,
|
||||
name="Propose",
|
||||
full_name="spipe.pb.Propose",
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name="rand",
|
||||
full_name="spipe.pb.Propose.rand",
|
||||
index=0,
|
||||
number=1,
|
||||
type=12,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b(""),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
_descriptor.FieldDescriptor(
|
||||
name="public_key",
|
||||
full_name="spipe.pb.Propose.public_key",
|
||||
index=1,
|
||||
number=2,
|
||||
type=12,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b(""),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
_descriptor.FieldDescriptor(
|
||||
name="exchanges",
|
||||
full_name="spipe.pb.Propose.exchanges",
|
||||
index=2,
|
||||
number=3,
|
||||
type=9,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b("").decode("utf-8"),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
_descriptor.FieldDescriptor(
|
||||
name="ciphers",
|
||||
full_name="spipe.pb.Propose.ciphers",
|
||||
index=3,
|
||||
number=4,
|
||||
type=9,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b("").decode("utf-8"),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
_descriptor.FieldDescriptor(
|
||||
name="hashes",
|
||||
full_name="spipe.pb.Propose.hashes",
|
||||
index=4,
|
||||
number=5,
|
||||
type=9,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b("").decode("utf-8"),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
],
|
||||
extensions=[],
|
||||
nested_types=[],
|
||||
enum_types=[],
|
||||
serialized_options=None,
|
||||
is_extendable=False,
|
||||
syntax="proto2",
|
||||
extension_ranges=[],
|
||||
oneofs=[],
|
||||
serialized_start=50,
|
||||
serialized_end=145,
|
||||
)
|
||||
|
||||
|
||||
_EXCHANGE = _descriptor.Descriptor(
|
||||
name='Exchange',
|
||||
full_name='spipe.pb.Exchange',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='ephemeral_public_key', full_name='spipe.pb.Exchange.ephemeral_public_key', index=0,
|
||||
number=1, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='signature', full_name='spipe.pb.Exchange.signature', index=1,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
serialized_options=None, file=DESCRIPTOR),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
serialized_options=None,
|
||||
is_extendable=False,
|
||||
syntax='proto2',
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=147,
|
||||
serialized_end=206,
|
||||
name="Exchange",
|
||||
full_name="spipe.pb.Exchange",
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name="ephemeral_public_key",
|
||||
full_name="spipe.pb.Exchange.ephemeral_public_key",
|
||||
index=0,
|
||||
number=1,
|
||||
type=12,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b(""),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
_descriptor.FieldDescriptor(
|
||||
name="signature",
|
||||
full_name="spipe.pb.Exchange.signature",
|
||||
index=1,
|
||||
number=2,
|
||||
type=12,
|
||||
cpp_type=9,
|
||||
label=1,
|
||||
has_default_value=False,
|
||||
default_value=_b(""),
|
||||
message_type=None,
|
||||
enum_type=None,
|
||||
containing_type=None,
|
||||
is_extension=False,
|
||||
extension_scope=None,
|
||||
serialized_options=None,
|
||||
file=DESCRIPTOR,
|
||||
),
|
||||
],
|
||||
extensions=[],
|
||||
nested_types=[],
|
||||
enum_types=[],
|
||||
serialized_options=None,
|
||||
is_extendable=False,
|
||||
syntax="proto2",
|
||||
extension_ranges=[],
|
||||
oneofs=[],
|
||||
serialized_start=147,
|
||||
serialized_end=206,
|
||||
)
|
||||
|
||||
DESCRIPTOR.message_types_by_name['Propose'] = _PROPOSE
|
||||
DESCRIPTOR.message_types_by_name['Exchange'] = _EXCHANGE
|
||||
DESCRIPTOR.message_types_by_name["Propose"] = _PROPOSE
|
||||
DESCRIPTOR.message_types_by_name["Exchange"] = _EXCHANGE
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
Propose = _reflection.GeneratedProtocolMessageType('Propose', (_message.Message,), {
|
||||
'DESCRIPTOR' : _PROPOSE,
|
||||
'__module__' : 'libp2p.security.secio.pb.spipe_pb2'
|
||||
# @@protoc_insertion_point(class_scope:spipe.pb.Propose)
|
||||
})
|
||||
Propose = _reflection.GeneratedProtocolMessageType(
|
||||
"Propose",
|
||||
(_message.Message,),
|
||||
{
|
||||
"DESCRIPTOR": _PROPOSE,
|
||||
"__module__": "libp2p.security.secio.pb.spipe_pb2"
|
||||
# @@protoc_insertion_point(class_scope:spipe.pb.Propose)
|
||||
},
|
||||
)
|
||||
_sym_db.RegisterMessage(Propose)
|
||||
|
||||
Exchange = _reflection.GeneratedProtocolMessageType('Exchange', (_message.Message,), {
|
||||
'DESCRIPTOR' : _EXCHANGE,
|
||||
'__module__' : 'libp2p.security.secio.pb.spipe_pb2'
|
||||
# @@protoc_insertion_point(class_scope:spipe.pb.Exchange)
|
||||
})
|
||||
Exchange = _reflection.GeneratedProtocolMessageType(
|
||||
"Exchange",
|
||||
(_message.Message,),
|
||||
{
|
||||
"DESCRIPTOR": _EXCHANGE,
|
||||
"__module__": "libp2p.security.secio.pb.spipe_pb2"
|
||||
# @@protoc_insertion_point(class_scope:spipe.pb.Exchange)
|
||||
},
|
||||
)
|
||||
_sym_db.RegisterMessage(Exchange)
|
||||
|
||||
|
||||
|
||||
@ -17,51 +17,116 @@ from typing_extensions import (
|
||||
Literal as typing_extensions___Literal,
|
||||
)
|
||||
|
||||
|
||||
class Propose(google___protobuf___message___Message):
|
||||
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
|
||||
rand = ... # type: bytes
|
||||
public_key = ... # type: bytes
|
||||
exchanges = ... # type: typing___Text
|
||||
ciphers = ... # type: typing___Text
|
||||
hashes = ... # type: typing___Text
|
||||
rand = ... # type: bytes
|
||||
public_key = ... # type: bytes
|
||||
exchanges = ... # type: typing___Text
|
||||
ciphers = ... # type: typing___Text
|
||||
hashes = ... # type: typing___Text
|
||||
|
||||
def __init__(self,
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
rand : typing___Optional[bytes] = None,
|
||||
public_key : typing___Optional[bytes] = None,
|
||||
exchanges : typing___Optional[typing___Text] = None,
|
||||
ciphers : typing___Optional[typing___Text] = None,
|
||||
hashes : typing___Optional[typing___Text] = None,
|
||||
) -> None: ...
|
||||
rand: typing___Optional[bytes] = None,
|
||||
public_key: typing___Optional[bytes] = None,
|
||||
exchanges: typing___Optional[typing___Text] = None,
|
||||
ciphers: typing___Optional[typing___Text] = None,
|
||||
hashes: typing___Optional[typing___Text] = None,
|
||||
) -> None: ...
|
||||
@classmethod
|
||||
def FromString(cls, s: bytes) -> Propose: ...
|
||||
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
|
||||
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
|
||||
if sys.version_info >= (3,):
|
||||
def HasField(self, field_name: typing_extensions___Literal[u"ciphers",u"exchanges",u"hashes",u"public_key",u"rand"]) -> bool: ...
|
||||
def ClearField(self, field_name: typing_extensions___Literal[u"ciphers",u"exchanges",u"hashes",u"public_key",u"rand"]) -> None: ...
|
||||
def HasField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ciphers", "exchanges", "hashes", "public_key", "rand"
|
||||
],
|
||||
) -> bool: ...
|
||||
def ClearField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ciphers", "exchanges", "hashes", "public_key", "rand"
|
||||
],
|
||||
) -> None: ...
|
||||
else:
|
||||
def HasField(self, field_name: typing_extensions___Literal[u"ciphers",b"ciphers",u"exchanges",b"exchanges",u"hashes",b"hashes",u"public_key",b"public_key",u"rand",b"rand"]) -> bool: ...
|
||||
def ClearField(self, field_name: typing_extensions___Literal[u"ciphers",b"ciphers",u"exchanges",b"exchanges",u"hashes",b"hashes",u"public_key",b"public_key",u"rand",b"rand"]) -> None: ...
|
||||
def HasField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ciphers",
|
||||
b"ciphers",
|
||||
"exchanges",
|
||||
b"exchanges",
|
||||
"hashes",
|
||||
b"hashes",
|
||||
"public_key",
|
||||
b"public_key",
|
||||
"rand",
|
||||
b"rand",
|
||||
],
|
||||
) -> bool: ...
|
||||
def ClearField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ciphers",
|
||||
b"ciphers",
|
||||
"exchanges",
|
||||
b"exchanges",
|
||||
"hashes",
|
||||
b"hashes",
|
||||
"public_key",
|
||||
b"public_key",
|
||||
"rand",
|
||||
b"rand",
|
||||
],
|
||||
) -> None: ...
|
||||
|
||||
class Exchange(google___protobuf___message___Message):
|
||||
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
|
||||
ephemeral_public_key = ... # type: bytes
|
||||
signature = ... # type: bytes
|
||||
ephemeral_public_key = ... # type: bytes
|
||||
signature = ... # type: bytes
|
||||
|
||||
def __init__(self,
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
ephemeral_public_key : typing___Optional[bytes] = None,
|
||||
signature : typing___Optional[bytes] = None,
|
||||
) -> None: ...
|
||||
ephemeral_public_key: typing___Optional[bytes] = None,
|
||||
signature: typing___Optional[bytes] = None,
|
||||
) -> None: ...
|
||||
@classmethod
|
||||
def FromString(cls, s: bytes) -> Exchange: ...
|
||||
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
|
||||
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
|
||||
if sys.version_info >= (3,):
|
||||
def HasField(self, field_name: typing_extensions___Literal[u"ephemeral_public_key",u"signature"]) -> bool: ...
|
||||
def ClearField(self, field_name: typing_extensions___Literal[u"ephemeral_public_key",u"signature"]) -> None: ...
|
||||
def HasField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ephemeral_public_key", "signature"
|
||||
],
|
||||
) -> bool: ...
|
||||
def ClearField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ephemeral_public_key", "signature"
|
||||
],
|
||||
) -> None: ...
|
||||
else:
|
||||
def HasField(self, field_name: typing_extensions___Literal[u"ephemeral_public_key",b"ephemeral_public_key",u"signature",b"signature"]) -> bool: ...
|
||||
def ClearField(self, field_name: typing_extensions___Literal[u"ephemeral_public_key",b"ephemeral_public_key",u"signature",b"signature"]) -> None: ...
|
||||
def HasField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ephemeral_public_key",
|
||||
b"ephemeral_public_key",
|
||||
"signature",
|
||||
b"signature",
|
||||
],
|
||||
) -> bool: ...
|
||||
def ClearField(
|
||||
self,
|
||||
field_name: typing_extensions___Literal[
|
||||
"ephemeral_public_key",
|
||||
b"ephemeral_public_key",
|
||||
"signature",
|
||||
b"signature",
|
||||
],
|
||||
) -> None: ...
|
||||
|
||||
@ -1,31 +1,66 @@
|
||||
from dataclasses import dataclass
|
||||
from dataclasses import (
|
||||
dataclass,
|
||||
)
|
||||
import itertools
|
||||
from typing import Optional, Tuple
|
||||
from typing import (
|
||||
Optional,
|
||||
Tuple,
|
||||
)
|
||||
|
||||
import multihash
|
||||
|
||||
from libp2p.crypto.authenticated_encryption import (
|
||||
EncryptionParameters as AuthenticatedEncryptionParameters,
|
||||
)
|
||||
from libp2p.crypto.authenticated_encryption import (
|
||||
InvalidMACException,
|
||||
)
|
||||
from libp2p.crypto.authenticated_encryption import (
|
||||
initialize_pair as initialize_pair_for_encryption,
|
||||
)
|
||||
from libp2p.crypto.authenticated_encryption import InvalidMACException
|
||||
from libp2p.crypto.authenticated_encryption import MacAndCipher as Encrypter
|
||||
from libp2p.crypto.ecc import ECCPublicKey
|
||||
from libp2p.crypto.exceptions import MissingDeserializerError
|
||||
from libp2p.crypto.key_exchange import create_ephemeral_key_pair
|
||||
from libp2p.crypto.keys import PrivateKey, PublicKey
|
||||
from libp2p.crypto.serialization import deserialize_public_key
|
||||
from libp2p.io.abc import EncryptedMsgReadWriter
|
||||
from libp2p.io.exceptions import DecryptionFailedException, IOException
|
||||
from libp2p.io.msgio import FixedSizeLenMsgReadWriter
|
||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||
from libp2p.crypto.ecc import (
|
||||
ECCPublicKey,
|
||||
)
|
||||
from libp2p.crypto.exceptions import (
|
||||
MissingDeserializerError,
|
||||
)
|
||||
from libp2p.crypto.key_exchange import (
|
||||
create_ephemeral_key_pair,
|
||||
)
|
||||
from libp2p.crypto.keys import (
|
||||
PrivateKey,
|
||||
PublicKey,
|
||||
)
|
||||
from libp2p.crypto.serialization import (
|
||||
deserialize_public_key,
|
||||
)
|
||||
from libp2p.io.abc import (
|
||||
EncryptedMsgReadWriter,
|
||||
)
|
||||
from libp2p.io.exceptions import (
|
||||
DecryptionFailedException,
|
||||
IOException,
|
||||
)
|
||||
from libp2p.io.msgio import (
|
||||
FixedSizeLenMsgReadWriter,
|
||||
)
|
||||
from libp2p.network.connection.raw_connection_interface import (
|
||||
IRawConnection,
|
||||
)
|
||||
from libp2p.peer.id import ID as PeerID
|
||||
from libp2p.security.base_transport import BaseSecureTransport
|
||||
from libp2p.security.secure_conn_interface import ISecureConn
|
||||
from libp2p.security.secure_session import SecureSession
|
||||
from libp2p.typing import TProtocol
|
||||
from libp2p.security.base_transport import (
|
||||
BaseSecureTransport,
|
||||
)
|
||||
from libp2p.security.secure_conn_interface import (
|
||||
ISecureConn,
|
||||
)
|
||||
from libp2p.security.secure_session import (
|
||||
SecureSession,
|
||||
)
|
||||
from libp2p.typing import (
|
||||
TProtocol,
|
||||
)
|
||||
|
||||
from .exceptions import (
|
||||
IncompatibleChoices,
|
||||
@ -36,7 +71,10 @@ from .exceptions import (
|
||||
SedesException,
|
||||
SelfEncryption,
|
||||
)
|
||||
from .pb.spipe_pb2 import Exchange, Propose
|
||||
from .pb.spipe_pb2 import (
|
||||
Exchange,
|
||||
Propose,
|
||||
)
|
||||
|
||||
ID = TProtocol("/secio/1.0.0")
|
||||
|
||||
@ -101,8 +139,10 @@ class SecioMsgReadWriter(EncryptedMsgReadWriter):
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Proposal:
|
||||
"""A ``Proposal`` represents the set of session parameters one peer in a
|
||||
pair of peers attempting to negotiate a `secio` channel prefers."""
|
||||
"""
|
||||
Represents the set of session parameters one peer in a
|
||||
pair of peers attempting to negotiate a `secio` channel prefers.
|
||||
"""
|
||||
|
||||
nonce: bytes
|
||||
public_key: PublicKey
|
||||
@ -401,8 +441,10 @@ async def create_secure_session(
|
||||
|
||||
|
||||
class Transport(BaseSecureTransport):
|
||||
"""``Transport`` provides a security upgrader for a ``IRawConnection``,
|
||||
following the `secio` protocol defined in the libp2p specs."""
|
||||
"""
|
||||
Provide a security upgrader for a ``IRawConnection``,
|
||||
following the `secio` protocol defined in the libp2p specs.
|
||||
"""
|
||||
|
||||
def get_nonce(self) -> bytes:
|
||||
return self.secure_bytes_provider(NONCE_SIZE)
|
||||
|
||||
Reference in New Issue
Block a user