first thing I thought that is might be a NoSuchPaddingException but here the JarException was thrown. I would suggest that instead of only looking for NoSuchAlgorithmException we catch all Exception and try to load the cipher without provider.

was there a reason to not handle NoSuchPaddingException the same as NoSuchAlgorithmException ?