-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathidentities.go
29 lines (23 loc) · 881 Bytes
/
identities.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package endorsement
import (
"github.com/hyperledger/fabric/core/handlers/endorsement/api"
"github.com/hyperledger/fabric/protos/peer"
)
// SigningIdentity signs messages and serializes its public identity to bytes
type SigningIdentity interface {
// Serialize returns a byte representation of this identity which is used to verify
// messages signed by this SigningIdentity
Serialize() ([]byte, error)
// Sign signs the given payload and returns a signature
Sign([]byte) ([]byte, error)
}
// SigningIdentityFetcher fetches a signing identity based on the proposal
type SigningIdentityFetcher interface {
endorsement.Dependency
// SigningIdentityForRequest returns a signing identity for the given proposal
SigningIdentityForRequest(*peer.SignedProposal) (SigningIdentity, error)
}