cauthdsl

package
v0.0.0-...-15ab7cc Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GateAnd   = "And"
	GateOr    = "Or"
	GateOutOf = "OutOf"
)

Gate values

View Source
const (
	RoleAdmin   = "admin"
	RoleMember  = "member"
	RoleClient  = "client"
	RolePeer    = "peer"
	RoleOrderer = "orderer"
)

Role values for principals

Variables

View Source
var AcceptAllPolicy *cb.SignaturePolicyEnvelope

AcceptAllPolicy always evaluates to true

View Source
var MarshaledAcceptAllPolicy []byte

MarshaledAcceptAllPolicy is the Marshaled version of AcceptAllPolicy

View Source
var MarshaledRejectAllPolicy []byte

MarshaledRejectAllPolicy is the Marshaled version of RejectAllPolicy

View Source
var RejectAllPolicy *cb.SignaturePolicyEnvelope

RejectAllPolicy always evaluates to false

Functions

func And

func And(lhs, rhs *cb.SignaturePolicy) *cb.SignaturePolicy

And is a convenience method which utilizes NOutOf to produce And equivalent behavior

func Envelope

func Envelope(policy *cb.SignaturePolicy, identities [][]byte) *cb.SignaturePolicyEnvelope

Envelope builds an envelope message embedding a SignaturePolicy

func FromString

func FromString(policy string) (*common.SignaturePolicyEnvelope, error)

FromString takes a string representation of the policy, parses it and returns a SignaturePolicyEnvelope that implements that policy. The supported language is as follows:

GATE(P[, P])

where:

  • GATE is either "and" or "or"
  • P is either a principal or another nested call to GATE

A principal is defined as:

ORG.ROLE

where:

  • ORG is a string (representing the MSP identifier)
  • ROLE takes the value of any of the RoleXXX constants representing the required role

func NOutOf

func NOutOf(n int32, policies []*cb.SignaturePolicy) *cb.SignaturePolicy

NOutOf creates a policy which requires N out of the slice of policies to evaluate to true

func NewPolicyProvider

func NewPolicyProvider(deserializer msp.IdentityDeserializer) policies.Provider

NewProviderImpl provides a policy generator for cauthdsl type policies

func Or

func Or(lhs, rhs *cb.SignaturePolicy) *cb.SignaturePolicy

Or is a convenience method which utilizes NOutOf to produce Or equivalent behavior

func SignedBy

func SignedBy(index int32) *cb.SignaturePolicy

SignedBy creates a SignaturePolicy requiring a given signer's signature

func SignedByAnyAdmin

func SignedByAnyAdmin(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyAdmin returns a policy that requires one valid signature from a admin of any of the orgs whose ids are listed in the supplied string array

func SignedByAnyClient

func SignedByAnyClient(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyClient returns a policy that requires one valid signature from a client of any of the orgs whose ids are listed in the supplied string array

func SignedByAnyMember

func SignedByAnyMember(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyMember returns a policy that requires one valid signature from a member of any of the orgs whose ids are listed in the supplied string array

func SignedByAnyPeer

func SignedByAnyPeer(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyPeer returns a policy that requires one valid signature from an orderer of any of the orgs whose ids are listed in the supplied string array

func SignedByMspAdmin

func SignedByMspAdmin(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspAdmin creates a SignaturePolicyEnvelope requiring 1 signature from any admin of the specified MSP

func SignedByMspClient

func SignedByMspClient(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspClient creates a SignaturePolicyEnvelope requiring 1 signature from any client of the specified MSP

func SignedByMspMember

func SignedByMspMember(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspMember creates a SignaturePolicyEnvelope requiring 1 signature from any member of the specified MSP

func SignedByMspPeer

func SignedByMspPeer(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspPeer creates a SignaturePolicyEnvelope requiring 1 signature from any peer of the specified MSP

Types

type EnvelopeBasedPolicyProvider

type EnvelopeBasedPolicyProvider struct {
	Deserializer msp.IdentityDeserializer
}

EnvelopeBasedPolicyProvider allows to create a new policy from SignaturePolicyEnvelope struct instead of []byte

func (*EnvelopeBasedPolicyProvider) NewPolicy

NewPolicy creates a new policy from the policy envelope

type Identity

type Identity interface {
	// SatisfiesPrincipal checks whether this instance matches
	// the description supplied in MSPPrincipal. The check may
	// involve a byte-by-byte comparison (if the principal is
	// a serialized identity) or may require MSP validation
	SatisfiesPrincipal(principal *mspp.MSPPrincipal) error

	// GetIdentifier returns the identifier of that identity
	GetIdentifier() *msp.IdentityIdentifier
}

type IdentityAndSignature

type IdentityAndSignature interface {
	// Identity returns the identity associated to this instance
	Identity() (Identity, error)

	// Verify returns the validity status of this identity's signature over the message
	Verify() error
}

Jump to

Keyboard shortcuts

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