- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在加载 key 存储,如下所示:
try
{
ks = KeyStore.getInstance("BKS", "BC");
ks.load(ksStream, ksPass);
}
catch (IOException e)
{
if (e.getCause() instanceof UnrecoverableKeyException)
System.err.println("Wrong password!");
}
问题是异常的原因不是由 bouncy caSTLe 设置的(它是 null)。
如何解决这个问题?
最佳答案
无法确定加载 BKS keystore 失败是否是由于密码错误或数据损坏或两者兼而有之造成的。造成这种不确定性的原因是因为BKS格式中没有专门用于测试密码正确性的字段。可用的只是通过 keystore 主体计算的消息身份验证代码 (MAC)。如果 MAC 检查成功,那么您可以确信一切都正确,包括密码。如果 MAC 出现故障,则问题可能是密码或数据损坏,或两者兼而有之。
使用IOException
来表达这个问题是一个糟糕的选择,并且可能是Sun工程师原始设计的痕迹。由于 BouncycaSTLe 只是 JCE 框架中的一个引擎,因此它们必须遵守 KeyStore.load()
的签名,包括异常规范。我查看的 BouncycaSTLe 版本在异常中包含一条详细消息“KeyStore 完整性检查失败。”,该异常至少可以识别出异常是由 MAC 故障引起的,而不是实际的 I/O 问题.
关于java - 使用充气城堡处理错误的 keystore 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57005711/
想问一下。有什么区别: LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(Conte
我正在使用 RecyclerView 来保存 CardView 列表。在我运行 Lollipop 5.0.2 的设备上,应用程序运行良好并且列表正确显示数据。然而,在其他 Lollipop 之前的设备
简单:我想用 1 个宽度为 0dp 的子项来膨胀父项。 父级 xml: 子类: public class KeyButton extends RelativeLayout implements Vi
我正在尝试创建一个 android 键盘,现在我希望它只是膨胀,即显示来自 main.xml 的线性布局 这是java文件 package keyboard.rob.com; import ... p
我有以下适配器 public class CardAdapter extends RecyclerView.Adapter{ List list; int id; Context context;
我的 main.xml 中目前有一个 DrawerLayout。 AppBarLayout 中包含了一个 Toolbar,然后是一个简单的 LinearLayout 来交换 fragment 。 我导
由于不推荐使用 Kotlin Synthetics,我们正在迁移到 ViewBinding。 我已经尝试了很多关于 ViewStub、ViewBinding 的谷歌搜索和阅读文档,并为 Fragmen
我无法使用 LayoutInflater 扩充 xml(包含 QuickContactBadge 的布局)文件,以便在 ListView 中使用它。它不会产生编译/运行时错误或正确的预期输出。从 XM
我是一名优秀的程序员,十分优秀!