public List<Key> getSecretKeys()
	{
		try
		{
			Pattern keyIDPattern = Pattern.compile("sec\\s+\\w+/(\\w+)\\s+.*");
			Pattern uidPattern = Pattern.compile("uid\\s+(\\S+[^<>]*\\S+)\\s+<([^<>]*)>.*");


			List<Key> ret = new LinkedList<>();
			List<String> list = new LinkedList<String>();
			list.add("--list-secret-keys");

			Process p = this.runCommand(list);

			Scanner in = new Scanner(p.getInputStream(), "UTF-8");
			String keyID = null;
			String uid = null;
			String email = null;
			while(in.hasNextLine())
			{
				String data = in.nextLine();
				if(data.length() == 0)
				{
					if (keyID == null)
						break;
					Key k = new Key();
					k.keyID = keyID;
					k.uid = uid;
					k.email = email;
					ret.add(k);
					keyID = null;
					uid = null;
					email = null;
				}

				Matcher m = keyIDPattern.matcher(data);
				if(keyID == null && m.matches())
				{
					keyID = m.group(1);
				}

				m = uidPattern.matcher(data);
				if(uid == null && m.matches())
				{
					uid = m.group(1);
					email = m.group(2);
				}
			}

			in.close();
			if(p.waitFor() == 0)
				return ret;
			else
				return null;
		}
		catch(Exception e)
		{
			return null;
		}
	}