我有一个 Java 应用程序,需要安装 JCE Unlimited Strength 策略文件才能生成证书。但是,目前,如果未安装文件,系统会静默失败,而不是抛出异常或其他东西。
是否有一种编程方式可以从应用程序中检查这些文件?谢谢。
我有一个 Java 应用程序,需要安装 JCE Unlimited Strength 策略文件才能生成证书。但是,目前,如果未安装文件,系统会静默失败,而不是抛出异常或其他东西。
是否有一种编程方式可以从应用程序中检查这些文件?谢谢。
可能不是最干净的方式:
如果它不存在,您的应用程序应该抛出一个异常,因此您可以尝试一个应该可以工作并捕获该异常的小型加密测试。这就是我对赏金城堡所做的。
我想您还可以检查已安装的库(看起来 JAR 文件中的 Manisfest 包含强度)。
事实证明,正如 GregS 上面指出的那样,程序并没有默默地失败,而是吞下了异常。调用KeyStore.store()
是抛出一个我在下面更远IOException
的泛型中捕捉到的。catch (Exception e)
一旦IOException
单独捕获,程序现在可以正常工作。