code: func (ks *inmemoryKeyStore) GetKey(ski []byte) (bccsp.Key, error) {
  	if len(ski) == 0 {
  		return nil, errors.New("ski is nil or empty")
  	}
  
  	skiStr := hex.EncodeToString(ski)
  
  	ks.m.RLock()
  	defer ks.m.RUnlock()
  	if key, found := ks.keys[skiStr]; found {
  		return key, nil
  	}
  	return nil, errors.Errorf("no key found for ski %x", ski)
  }
docs: // GetKey returns a key object whose SKI is the one passed.