code: public static void validateKeystoreParameter(Object keystore) throws InvalidKeystoreReferenceException {
  		if (keystore == null) throw new InvalidKeystoreReferenceException((Object) null);
  		if (keystore instanceof KeyStore) return;
  		if (keystore instanceof InputStream) return;
  		if (keystore instanceof String) keystore = new File((String) keystore);
  		if (keystore instanceof File) {
  			File file = (File) keystore;
  			if (!file.exists()) throw new InvalidKeystoreReferenceException("Invalid keystore reference.  File does not exist: " + file.getAbsolutePath());
  			if (!file.isFile()) throw new InvalidKeystoreReferenceException("Invalid keystore reference.  Path does not refer to a valid file: " + file.getAbsolutePath());
  			if (file.length() <= 0) throw new InvalidKeystoreReferenceException("Invalid keystore reference.  File is empty: " + file.getAbsolutePath());
  			return;
  		}
  		if (keystore instanceof byte[]) {
  			byte[] bytes = (byte[]) keystore;
  			if (bytes.length == 0) throw new InvalidKeystoreReferenceException("Invalid keystore reference. Byte array is empty");
  			return;
  		}
docs: Ensures that a keystore parameter is actually supported by the KeystoreManager.
  
  @param keystore a keystore containing your private key and the certificate signed by Apple (File, InputStream, byte[], KeyStore or String for a file path)
  @throws InvalidKeystoreReferenceException thrown if the provided keystore parameter is not supported