code: func (e *Envelope) SignSecret(signer Signer, secret *Secret) error {
  	payload, err := proto.Marshal(secret)
  	if err != nil {
  		return err
  	}
  	sig, err := signer(payload)
  	if err != nil {
  		return err
  	}
  	e.SecretEnvelope = &SecretEnvelope{
  		Payload:   payload,
  		Signature: sig,
  	}
  	return nil
  }
docs: // SignSecret signs the secret payload and creates
  // a secret envelope out of it.