code: func (i *Issuer) NewKey(attributeNames []string) (res handlers.IssuerSecretKey, err error) {
  	defer func() {
  		if r := recover(); r != nil {
  			res = nil
  			err = errors.Errorf("failure [%s]", r)
  		}
  	}()
  
  	sk, err := cryptolib.NewIssuerKey(attributeNames, i.NewRand())
  	if err != nil {
  		return
  	}
  
  	res = &IssuerSecretKey{SK: sk}
  
  	return
  }
docs: // NewKey generates a new issuer key-pair