Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterPolicyCheckerFactory ¶
func RegisterPolicyCheckerFactory(f PolicyCheckerFactory)
RegisterPolicyCheckerFactory is to be called once to set the factory that will be used to obtain instances of PolicyChecker
Types ¶
type ApplicationPolicyEvaluator ¶
type ApplicationPolicyEvaluator struct {
// contains filtered or unexported fields
}
func New ¶
func New(deserializer msp.IdentityDeserializer, channel string, channelPolicyManagerGetter policies.ChannelPolicyManagerGetter) (*ApplicationPolicyEvaluator, error)
New returns an evaluator for application policies
func (*ApplicationPolicyEvaluator) Evaluate ¶
func (a *ApplicationPolicyEvaluator) Evaluate(policyBytes []byte, signatureSet []*protoutil.SignedData) error
type ChannelPolicyReferenceProvider ¶
type ChannelPolicyReferenceProvider interface { // NewPolicy creates a new policy based on the policy bytes NewPolicy(channelConfigPolicyReference string) (policies.Policy, error) }
ChannelPolicyReference is used to determine if a set of signature is valid and complies with a policy
type ChannelPolicyReferenceProviderImpl ¶
type ChannelPolicyReferenceProviderImpl struct {
Manager
}
type Manager ¶
type Manager interface { // GetPolicy returns a policy and true if it was the policy requested, or false if it is the default policy GetPolicy(id string) (policies.Policy, bool) }
Manager defines functions to interface with the policy manager of a channel
type PolicyChecker ¶
type PolicyChecker interface { // CheckPolicy checks that the passed signed proposal is valid with the respect to // passed policy on the passed channel. // If no channel is passed, CheckPolicyNoChannel is invoked directly. CheckPolicy(channelID, policyName string, signedProp *pb.SignedProposal) error // CheckPolicyBySignedData checks that the passed signed data is valid with the respect to // passed policy on the passed channel. // If no channel is passed, the method will fail. CheckPolicyBySignedData(channelID, policyName string, sd []*protoutil.SignedData) error // CheckPolicyNoChannel checks that the passed signed proposal is valid with the respect to // passed policy on the local MSP. CheckPolicyNoChannel(policyName string, signedProp *pb.SignedProposal) error }
PolicyChecker offers methods to check a signed proposal against a specific policy defined in a channel or not.
func GetPolicyChecker ¶
func GetPolicyChecker() PolicyChecker
GetPolicyChecker returns instances of PolicyChecker; the actual implementation is controlled by the factory that is registered via RegisterPolicyCheckerFactory
func NewPolicyChecker ¶
func NewPolicyChecker(channelPolicyManagerGetter policies.ChannelPolicyManagerGetter, localMSP msp.IdentityDeserializer, principalGetter mgmt.MSPPrincipalGetter) PolicyChecker
NewPolicyChecker creates a new instance of PolicyChecker
type PolicyCheckerFactory ¶
type PolicyCheckerFactory interface {
NewPolicyChecker() PolicyChecker
}
PolicyCheckerFactory defines a factory interface so that the actual implementation can be injected
type SignaturePolicyProvider ¶
type SignaturePolicyProvider interface { // NewPolicy creates a new policy based on the policy bytes NewPolicy(signaturePolicy *common.SignaturePolicyEnvelope) (policies.Policy, error) }
Provider provides the backing implementation of a policy