net

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2016 License: MIT Imports: 25 Imported by: 60

Documentation

Index

Constants

View Source
const (
	// The version of the encryption algorithm used. Currently only 1 is supported
	CiphertextVersion = 1

	// Length of the serialized version in bytes
	CiphertextVersionBytes = 4

	// Length of the secret key used to generate the AES and MAC keys in bytes
	SecretKeyBytes = 32

	// Length of the AES key in bytes
	AESKeyBytes = 32

	// Length of the MAC key in bytes
	MacKeyBytes = 32

	// Length of the RSA encrypted secret key ciphertext in bytes
	EncryptedSecretKeyBytes = 512

	// Length of the MAC in bytes
	MacBytes = 32
)

Variables

View Source
var (
	// The ciphertext cannot be shorter than CiphertextVersionBytes + EncryptedSecretKeyBytes + aes.BlockSize + MacKeyBytes
	ErrShortCiphertext = errors.New("Ciphertext is too short")

	// The Hmac included in the ciphertext is invalid
	ErrInvalidHmac = errors.New("Invalid Hmac")

	// Satic salt used in the hdkf
	Salt = []byte("OpenBazaar Encryption Algorithm")
)
View Source
var STUN_PORT int = 3478
View Source
var STUN_SERVERS []string = []string{
	"stun.ekiga.net",
	"stun.ideasip.com",
	"stun.voiparound.com",
	"stun.voipbuster.com",
	"stun.voipstunt.com",
	"stun.voxgratia.org",
}

Functions

func CreateHiddenServiceKey added in v0.2.0

func CreateHiddenServiceKey(repoPath string) error

Generate a new RSA key and onion address and save it to the repo

func Decrypt added in v0.1.1

func Decrypt(privKey libp2p.PrivKey, ciphertext []byte) ([]byte, error)

func Encrypt added in v0.1.1

func Encrypt(pubKey libp2p.PubKey, plaintext []byte) ([]byte, error)

func GetTorControlPort added in v0.2.0

func GetTorControlPort() (int, error)

Return the tor control port if tor is running or an error

func MaybeCreateHiddenServiceKey added in v0.2.0

func MaybeCreateHiddenServiceKey(repoPath string) error

Generate a new key pair if one doesn't already exist

func NATtoString

func NATtoString(i stunlib.NATType) string

func Shuffle

func Shuffle(a []string)

func Stun

func Stun() (int, error)

Types

type NetworkService

type NetworkService interface {
	// Handle incoming streams
	HandleNewStream(s inet.Stream)

	// Get handler for mesage type
	HandlerForMsgType(t pb.Message_MessageType) func(peer.ID, *pb.Message, interface{}) (*pb.Message, error)

	// Send request to a peer and wait for the response
	SendRequest(ctx context.Context, p peer.ID, pmes *pb.Message) (*pb.Message, error)

	// Send a message to a peer without requiring a response
	SendMessage(ctx context.Context, p peer.ID, pmes *pb.Message) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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