github.com/ConsenSys/Quorum@v20.10.0+incompatible/plugin/online_verifier.go (about)

     1  package plugin
     2  
     3  // Implementation of plugin.Verifier that uses remote server to verify plugins.
     4  type OnlineVerifier struct {
     5  	centralClient *CentralClient
     6  }
     7  
     8  func NewOnlineVerifier(centralClient *CentralClient) *OnlineVerifier {
     9  	return &OnlineVerifier{centralClient: centralClient}
    10  }
    11  
    12  // Verify a plugin giving its name from Central
    13  func (v *OnlineVerifier) VerifySignature(definition *PluginDefinition, checksum string) error {
    14  	sig, err := v.centralClient.PluginSignature(definition)
    15  	if err != nil {
    16  		return err
    17  	}
    18  	pubkey, err := v.centralClient.PublicKey()
    19  	if err != nil {
    20  		return err
    21  	}
    22  	return verify(sig, pubkey, checksum)
    23  }