public <E> void createSignature(Passable<E> toSign)
			throws UnsupportedEncodingException, InvalidKeyException,
			IllegalBlockSizeException, BadPaddingException,
			NoSuchAlgorithmException {

		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		ObjectOutput out = null;

		try {
			out = new ObjectOutputStream(bos);
			out.writeObject(toSign.data);
			bos.close();
			out.close();
		} catch (IOException e1) {
			System.exit(0);
			return;
		}

		final byte[] data = bos.toByteArray();
		toSign.signature = createSignatureFromByteArray(data);

	}