code: func NewFromFiles(keyfile, keyringfile string) (*Signatory, error) {
  	e, err := loadKey(keyfile)
  	if err != nil {
  		return nil, err
  	}
  
  	ring, err := loadKeyRing(keyringfile)
  	if err != nil {
  		return nil, err
  	}
  
  	return &Signatory{
  		Entity:  e,
  		KeyRing: ring,
  	}, nil
  }
docs: // NewFromFiles constructs a new Signatory from the PGP key in the given filename.
  //
  // This will emit an error if it cannot find a valid GPG keyfile (entity) at the
  // given location.
  //
  // Note that the keyfile may have just a public key, just a private key, or
  // both. The Signatory methods may have different requirements of the keys. For
  // example, ClearSign must have a valid `openpgp.Entity.PrivateKey` before it
  // can sign something.