public ResponseAPDU loadAuthenticationKeys(byte[] key)
			throws NFCIPException {
		byte[] cp = this.LOAD_AUTHENTICATION_KEYS;
		if (key.length != 6)
			throw new NFCIPException("supplied key must be 6 bytes");
		for (int i = 0; i < key.length; i++) {
			cp[i + 5] = key[i];
		}
		if (DEBUG)
			printByteArray(cp);
		try {
			CommandAPDU d = new CommandAPDU(cp);
			if (DEBUG)
				System.out.println(d.toString());
			if (ch == null) {
				throw new NFCIPException("channel not open");
			}
			return ch.transmit(d);
		} catch (CardException e) {
			throw new NFCIPException("problem reading data");
		}
	}