Skip to content
Snippets Groups Projects
Select Git revision
  • 7c4352be2befbadb90ec8269d226cea0be52e711
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

HealthCallback.swift

Blame
  • permissioning.go 1.41 KiB
    ////////////////////////////////////////////////////////////////////////////////
    // Copyright © 2020 Privategrity Corporation                                   /
    //                                                                             /
    // All rights reserved.                                                        /
    ////////////////////////////////////////////////////////////////////////////////
    
    package api
    
    import (
    	"github.com/pkg/errors"
    	"gitlab.com/elixxir/client/storage"
    )
    
    // Returns an error if registration fails.
    func (c *Client) registerWithPermissioning() error {
    	userData := c.storage.User()
    	//get the users public key
    	pubKey := userData.GetCryptographicIdentity().GetRSA().GetPublic()
    
    	//load the registration code
    	regCode, err := c.storage.GetRegCode()
    	if err != nil {
    		return errors.WithMessage(err, "failed to register with "+
    			"permissioning")
    	}
    
    	//register with permissioning
    	regValidationSignature, err := c.permissioning.Register(pubKey, regCode)
    	if err != nil {
    		return errors.WithMessage(err, "failed to register with "+
    			"permissioning")
    	}
    
    	//store the signature
    	userData.SetRegistrationValidationSignature(regValidationSignature)
    
    	//update the registration status
    	err = c.storage.ForwardRegistrationStatus(storage.PermissioningComplete)
    	if err != nil {
    		return errors.WithMessage(err, "failed to update local state "+
    			"after registration with permissioning")
    	}
    	return nil
    }