code: func (srv *server) Info(jsonData []byte) (*info.Resp, error) {
  	res, err := srv.getResultMap(jsonData, "info")
  	if err != nil {
  		return nil, err
  	}
  
  	info := new(info.Resp)
  
  	if val, ok := res["certificate"]; ok {
  		info.Certificate = val.(string)
  	}
  	var usages []interface{}
  	if val, ok := res["usages"]; ok && val != nil {
  		usages = val.([]interface{})
  	}
  	if val, ok := res["expiry"]; ok && val != nil {
  		info.ExpiryString = val.(string)
  	}
  
  	info.Usage = make([]string, len(usages))
  	for i, s := range usages {
  		info.Usage[i] = s.(string)
  	}
  
  	return info, nil
  }
docs: // Info sends an info request to the remote CFSSL server, receiving a
  // response or an error in response.
  // It takes the serialized JSON request to send.