handshake

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const PeerIDAuthScheme = "dep2p-PeerID"

PeerIDAuthScheme 定义了对等节点认证方案的名称

Variables

View Source
var (
	// 挑战已过期
	ErrExpiredChallenge = errors.New("挑战已过期")
	// 令牌已过期
	ErrExpiredToken = errors.New("令牌已过期")
	// HMAC 无效
	ErrInvalidHMAC = errors.New("HMAC 无效")
)

Functions

This section is empty.

Types

type PeerIDAuthHandshakeClient

type PeerIDAuthHandshakeClient struct {
	// 主机名
	Hostname string
	// 客户端私钥
	PrivKey crypto.PrivKey
	// contains filtered or unexported fields
}

PeerIDAuthHandshakeClient 实现了对等节点认证握手的客户端

func (*PeerIDAuthHandshakeClient) AddHeader

func (h *PeerIDAuthHandshakeClient) AddHeader(hdr http.Header)

AddHeader 将认证信息添加到 HTTP 头部 参数:

  • hdr: HTTP 头部

func (*PeerIDAuthHandshakeClient) BearerToken

func (h *PeerIDAuthHandshakeClient) BearerToken() string

BearerToken 返回服务端提供的 bearer token 返回值:

  • string: bearer token 字符串

func (*PeerIDAuthHandshakeClient) HandshakeDone

func (h *PeerIDAuthHandshakeClient) HandshakeDone() bool

HandshakeDone 检查握手是否已完成 返回值:

  • bool: 握手是否已完成

func (*PeerIDAuthHandshakeClient) ParseHeader

func (h *PeerIDAuthHandshakeClient) ParseHeader(header http.Header) error

ParseHeader 解析 HTTP 头部中的认证信息 参数:

  • header: HTTP 头部

返回值:

  • error: 解析过程中的错误

func (*PeerIDAuthHandshakeClient) PeerID

func (h *PeerIDAuthHandshakeClient) PeerID() (peer.ID, error)

PeerID 返回已认证的服务端对等节点 ID 返回值:

  • peer.ID: 服务端对等节点 ID
  • error: 获取过程中的错误

func (*PeerIDAuthHandshakeClient) Run

Run 执行握手流程的一个步骤 返回值:

  • error: 执行过程中的错误

func (*PeerIDAuthHandshakeClient) ServerAuthenticated

func (h *PeerIDAuthHandshakeClient) ServerAuthenticated() bool

ServerAuthenticated 检查服务端是否已认证 返回值:

  • bool: 服务端是否已认证

func (*PeerIDAuthHandshakeClient) SetInitiateChallenge

func (h *PeerIDAuthHandshakeClient) SetInitiateChallenge()

SetInitiateChallenge 设置客户端为发起挑战状态

type PeerIDAuthHandshakeServer

type PeerIDAuthHandshakeServer struct {
	// 主机名
	Hostname string
	// 私钥
	PrivKey crypto.PrivKey
	// 令牌有效期
	TokenTTL time.Duration
	// 用于验证不透明数据和令牌的 HMAC
	Hmac hash.Hash
	// contains filtered or unexported fields
}

PeerIDAuthHandshakeServer 表示对等节点认证握手服务器

func (*PeerIDAuthHandshakeServer) ParseHeaderVal

func (h *PeerIDAuthHandshakeServer) ParseHeaderVal(headerVal []byte) error

ParseHeaderVal 解析头部值 参数:

  • headerVal: 头部值字节切片

返回:

  • error: 错误信息

func (*PeerIDAuthHandshakeServer) PeerID

func (h *PeerIDAuthHandshakeServer) PeerID() (peer.ID, error)

PeerID 返回已认证客户端的对等节点 ID 返回:

  • peer.ID: 对等节点 ID
  • error: 错误信息

func (*PeerIDAuthHandshakeServer) Reset

func (h *PeerIDAuthHandshakeServer) Reset()

Reset 重置服务器状态

func (*PeerIDAuthHandshakeServer) Run

Run 运行握手服务器 返回:

  • error: 错误信息

func (*PeerIDAuthHandshakeServer) SetHeader

func (h *PeerIDAuthHandshakeServer) SetHeader(hdr http.Header)

SetHeader 设置 HTTP 头部 参数:

  • hdr: HTTP 头部

Jump to

Keyboard shortcuts

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