secio is not maintained any more, and we advise against using it.
A secure transport module for go-libp2p
go-libp2p-secio is a component of the libp2p project, a
modular networking stack for developing peer-to-peer applications. It provides a
secure transport channel for
go-libp2p. Following an initial
plaintext handshake, all data exchanged between peers using
encrypted and protected from eavesdropping.
libp2p supports multiple transport protocols, many of which
lack native channel security.
go-libp2p-secio is designed to work with
go-libp2p's "transport upgrader", which applies security
go-libp2p-secio) to an insecure channel.
SecureTransport interface, which
allows the upgrader to secure any underlying connection.
More detail on the handshake protocol and wire format used is available in the SECIO spec.
Most people building applications with libp2p will have no need to install
go-libp2p-secio directly. It is included as a dependency of the main
go-libp2p "entry point" module and is enabled by default.
For users who do not depend on
go-libp2p and are managing their libp2p module
dependencies in a more manual fashion,
go-libp2p-secio is a standard Go module
which can be installed with:
go get github.com/libp2p/go-libp2p-secio
This repo is gomod-compatible, and users of
go 1.11 and later with modules enabled will automatically pull the latest tagged release
by referencing this package. Upgrades to future releases can be managed using
or by editing your
go.mod file as described by the gomod documentation.
Transport security can be disabled for development and testing by passing the
Feel free to join in. All welcome. Open an issue!
This repository falls under the libp2p Code of Conduct.
Want to hack on libp2p?
The last gx published version of this module was: 2.0.30: QmSVaJe1aRjc78cZARTtf4pqvXERYwihyYhZWoVWceHnsK