insecure

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package insecure 提供了一个不安全的、未加密的 SecureConn 和 SecureTransport 接口实现。

仅推荐用于测试和其他非生产环境。

Index

Constants

View Source
const ID = "/plaintext/2.0.0"

ID 是在标识此安全传输时应使用的 multistream-select 协议 ID。

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

type Conn struct {
	net.Conn // 底层网络连接
	// contains filtered or unexported fields
}

Conn 是不安全传输返回的连接类型。

func (*Conn) ConnState

func (ic *Conn) ConnState() network.ConnectionState

ConnState 返回安全连接的状态信息。 返回值:

  • network.ConnectionState: 连接状态信息

func (*Conn) LocalPeer

func (ic *Conn) LocalPeer() peer.ID

LocalPeer 返回本地对等节点 ID。 返回值:

  • peer.ID: 本地对等节点 ID

func (*Conn) RemotePeer

func (ic *Conn) RemotePeer() peer.ID

RemotePeer 返回远程对等节点 ID。 返回值:

  • peer.ID: 如果是拨号发起方,返回远程对等节点 ID;否则返回空字符串

func (*Conn) RemotePublicKey

func (ic *Conn) RemotePublicKey() ci.PubKey

RemotePublicKey 返回远程对等节点的公钥。 返回值:

  • ci.PubKey: 远程对等节点的公钥

type Transport

type Transport struct {
	// contains filtered or unexported fields
}

Transport 是一个无操作的流安全传输。它不提供任何安全性,仅模拟安全方法。 身份方法返回本地对等节点的 ID 和私钥,以及远程对等节点提供的 ID 和公钥。 不对远程身份进行任何验证。

func NewWithIdentity

func NewWithIdentity(protocolID protocol.ID, id peer.ID, key ci.PrivKey) *Transport

NewWithIdentity 构造一个新的不安全传输。。公钥会发送给远程对等节点。 不提供任何安全性。 参数:

  • protocolID: protocol.ID 协议标识符
  • id: peer.ID 本地对等节点 ID
  • key: ci.PrivKey 本地私钥

返回值:

  • *Transport: 新创建的不安全传输实例

func (*Transport) ID

func (t *Transport) ID() protocol.ID

ID 返回传输的协议 ID。 返回值:

  • protocol.ID: 协议标识符

func (*Transport) LocalPeer

func (t *Transport) LocalPeer() peer.ID

LocalPeer 返回传输的本地对等节点 ID。 返回值:

  • peer.ID: 本地对等节点 ID

func (*Transport) SecureInbound

func (t *Transport) SecureInbound(_ context.Context, insecure net.Conn, p peer.ID) (sec.SecureConn, error)

SecureInbound *假装安全地*处理到给定对等节点的入站连接。 它发送本地对等节点的 ID 和公钥,并从远程对等节点接收相同的信息。 不对提供的公钥的真实性或所有权进行任何验证,且密钥交换不提供任何安全性。 如果远程对等节点发送的 ID 和公钥相互不一致,或者在 ID 交换期间发生网络错误, SecureInbound 可能会失败。 参数:

  • ctx: context.Context 上下文对象,用于控制操作
  • insecure: net.Conn 不安全的网络连接
  • p: peer.ID 远程对等节点 ID

返回值:

  • sec.SecureConn: 安全连接接口实现
  • error: 如果发生错误,返回错误信息

func (*Transport) SecureOutbound

func (t *Transport) SecureOutbound(_ context.Context, insecure net.Conn, p peer.ID) (sec.SecureConn, error)

SecureOutbound *假装安全地*处理到给定对等节点的出站连接。 它发送本地对等节点的 ID 和公钥,并从远程对等节点接收相同的信息。 不对提供的公钥的真实性或所有权进行任何验证, 且密钥交换不提供任何安全性。 如果远程对等节点发送的 ID 和公钥相互不一致,或者远程对等节点发送的 ID 与拨号的不匹配, SecureOutbound 可能会失败。如果在 ID 交换期间发生网络错误,也可能失败。 参数:

  • ctx: context.Context 上下文对象,用于控制操作
  • insecure: net.Conn 不安全的网络连接
  • p: peer.ID 远程对等节点 ID

返回值:

  • sec.SecureConn: 安全连接接口实现
  • error: 如果发生错误,返回错误信息

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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