signing

package
v0.14.13 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2019 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Error = errs.Class("signing")

Error is the default error class for signing package.

Functions

func EncodeOrder

func EncodeOrder(ctx context.Context, order *pb.Order2) (_ []byte, err error)

EncodeOrder encodes order into bytes for signing. Removes signature from serialized order.

func EncodeOrderLimit

func EncodeOrderLimit(ctx context.Context, limit *pb.OrderLimit2) (_ []byte, err error)

EncodeOrderLimit encodes order limit into bytes for signing. Removes signature from serialized limit.

func EncodePieceHash

func EncodePieceHash(ctx context.Context, hash *pb.PieceHash) (_ []byte, err error)

EncodePieceHash encodes piece hash into bytes for signing. Removes signature from serialized hash.

func EncodeVoucher added in v0.13.0

func EncodeVoucher(ctx context.Context, voucher *pb.Voucher) (_ []byte, err error)

EncodeVoucher encodes voucher into bytes for signing.

func SignOrder

func SignOrder(ctx context.Context, uplink Signer, unsigned *pb.Order2) (_ *pb.Order2, err error)

SignOrder signs the order using the specified signer. Signer is an uplink.

func SignOrderLimit

func SignOrderLimit(ctx context.Context, satellite Signer, unsigned *pb.OrderLimit2) (_ *pb.OrderLimit2, err error)

SignOrderLimit signs the order limit using the specified signer. Signer is a satellite.

func SignPieceHash

func SignPieceHash(ctx context.Context, signer Signer, unsigned *pb.PieceHash) (_ *pb.PieceHash, err error)

SignPieceHash signs the piece hash using the specified signer. Signer is either uplink or storage node.

func SignVoucher added in v0.13.0

func SignVoucher(ctx context.Context, signer Signer, unsigned *pb.Voucher) (_ *pb.Voucher, err error)

SignVoucher signs the voucher using the specified signer Signer is a satellite

func VerifyOrderLimitSignature

func VerifyOrderLimitSignature(ctx context.Context, satellite Signee, signed *pb.OrderLimit2) (err error)

VerifyOrderLimitSignature verifies that the signature inside order limit belongs to the satellite.

func VerifyOrderSignature

func VerifyOrderSignature(ctx context.Context, uplink Signee, signed *pb.Order2) (err error)

VerifyOrderSignature verifies that the signature inside order belongs to the uplink.

func VerifyPieceHashSignature

func VerifyPieceHashSignature(ctx context.Context, signee Signee, signed *pb.PieceHash) (err error)

VerifyPieceHashSignature verifies that the signature inside piece hash belongs to the signer, which is either uplink or storage node.

func VerifyVoucher added in v0.14.0

func VerifyVoucher(ctx context.Context, satellite Signee, signed *pb.Voucher) (err error)

VerifyVoucher verifies that the signature inside voucher belongs to the satellite

Types

type PrivateKey

type PrivateKey struct {
	Self storj.NodeID
	Key  crypto.PrivateKey
}

PrivateKey implements a signer and signee using a crypto.PrivateKey.

func (*PrivateKey) HashAndSign

func (private *PrivateKey) HashAndSign(ctx context.Context, data []byte) (_ []byte, err error)

HashAndSign hashes the data and signs with the used key.

func (*PrivateKey) HashAndVerifySignature

func (private *PrivateKey) HashAndVerifySignature(ctx context.Context, data, signature []byte) (err error)

HashAndVerifySignature hashes the data and verifies that the signature belongs to the PrivateKey.

func (*PrivateKey) ID

func (private *PrivateKey) ID() storj.NodeID

ID returns node id associated with PrivateKey.

type PublicKey

type PublicKey struct {
	Self storj.NodeID
	Key  crypto.PublicKey
}

PublicKey implements a signee using crypto.PublicKey.

func (*PublicKey) HashAndVerifySignature

func (public *PublicKey) HashAndVerifySignature(ctx context.Context, data, signature []byte) (err error)

HashAndVerifySignature hashes the data and verifies that the signature belongs to the PublicKey.

func (*PublicKey) ID

func (public *PublicKey) ID() storj.NodeID

ID returns node id associated with this PublicKey.

type Signee

type Signee interface {
	ID() storj.NodeID
	HashAndVerifySignature(ctx context.Context, data, signature []byte) error
}

Signee is able to verify that the data signature belongs to the signee.

func SigneeFromPeerIdentity

func SigneeFromPeerIdentity(identity *identity.PeerIdentity) Signee

SigneeFromPeerIdentity returns signee based on peer identity.

type Signer

type Signer interface {
	ID() storj.NodeID
	HashAndSign(ctx context.Context, data []byte) ([]byte, error)
	HashAndVerifySignature(ctx context.Context, data, signature []byte) error
}

Signer is able to sign data and verify own signature belongs.

func SignerFromFullIdentity

func SignerFromFullIdentity(identity *identity.FullIdentity) Signer

SignerFromFullIdentity returns signer based on full identity.

Jump to

Keyboard shortcuts

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