我正在实现一个 Java 密钥库,我可以覆盖的方法之一是KeyStoreSpi.engineStore(KeyStore.LoadStoreParameter param)
,它应该根据提供的参数存储密钥库。
我不明白如何实现此方法,原因有两个:
显然
param
可以为空。在这种情况下,我的班级如何知道将数据存储在哪里?假设
param
不为空 - 它仍然不提供任何输出位置信息。该LoadStoreParameter
参数是对 的松散包装ProtectionParameter
,它似乎只提供对密码信息的访问。同样,没有关于存储此密钥库的位置。
关于如何解决这个问题的任何建议?我倾向于不覆盖此方法并依赖默认实现,它会抛出UnsupportedOperationException
. 但这只是在回避问题。
我已经尝试在谷歌上搜索“ extend KeyStoreSpi ”以获取密钥存储源文件的示例,但似乎没有人实现此方法。我想这可能是有原因的...