code: func (r *keyring) List() ([]*Key, error) {
  	r.mu.Lock()
  	defer r.mu.Unlock()
  	if r.locked {
  		// section 2.7: locked agents return empty.
  		return nil, nil
  	}
  
  	var ids []*Key
  	for _, k := range r.keys {
  		pub := k.signer.PublicKey()
  		ids = append(ids, &Key{
  			Format:  pub.Type(),
  			Blob:    pub.Marshal(),
  			Comment: k.comment})
  	}
  	return ids, nil
  }
docs: // List returns the identities known to the agent.