sec

package
v0.0.0-...-08de2ff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package sec provides secure connection and transport interfaces for libp2p.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrPeerIDMismatch

type ErrPeerIDMismatch struct {
	Expected peer.ID
	Actual   peer.ID
}

func (ErrPeerIDMismatch) Error

func (e ErrPeerIDMismatch) Error() string

type SecureConn

type SecureConn interface {
	net.Conn
	network.ConnSecurity
}

SecureConn is an authenticated, encrypted connection.

type SecureTransport

type SecureTransport interface {
	// SecureInbound secures an inbound connection.
	// If p is empty, connections from any peer are accepted.
	SecureInbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)

	// SecureOutbound secures an outbound connection.
	SecureOutbound(ctx context.Context, insecure net.Conn, p peer.ID) (SecureConn, error)

	// ID is the protocol ID of the security protocol.
	ID() protocol.ID
}

A SecureTransport turns inbound and outbound unauthenticated, plain-text, native connections into authenticated, encrypted connections.

Directories

Path Synopsis
Package insecure provides an insecure, unencrypted implementation of the SecureConn and SecureTransport interfaces.
Package insecure provides an insecure, unencrypted implementation of the SecureConn and SecureTransport interfaces.
pb

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL