密钥库实现允许存储具有密钥值的属性?

时间:2018-01-08 13:14:42

标签: java cryptography keystore symmetric-key

我想知道是否有任何密钥库实现允许存储关键属性,比如名称/值对,以及对称密钥的值?看起来JKS和JCEKS只允许存储密钥值和密钥的别名,因此寻找其他选项(如果有的话)。

无论名称/价值对如何处理都没有关系,只要它们可以存储(它应该由应用程序来理解它们,真的)。

所以我想把它放在钥匙店里是:
alias1 - keyvalue1 - metadata1=[md1=value11 md2=value12 md3=value13 ...]
alias2 - keyvalue2 - metadata2=[md1=value21 md2=value22 md3=value23 ...]
...
不要关心元数据的编码,但应该可以单独检索。

编辑: KeyStore.SecretKeyEntry有一个CTOR接受Set AttributeKeyStore.setEntry,使用SecretKeyEntry可以传递包含其元数据的removeAttrvisibility。不幸的是,看起来默认的JCEKS实现只是忽略了属性。

1 个答案:

答案 0 :(得分:0)

如果知道关键是申请工作,为什么不做下面的事情?

对于String键。

  

Key:“rabbit?color = white& size = small& fluffy = true”

或者您可以解析为base64并拥有

  

键:cmFiYml0P2NvbG9yPXdoaXRlJnNpemU9c21hbGwmZmx1ZmZ5PXRydWU =

我在这里看到的问题是,对于字符串,您将无法将键“兔子”与属性解除关联。例如,在JKS上,您将上面的密钥作为-alias cmFiYml0P2NvbG9yPXdoaXRlJnNpemU9c21hbGwmZmx1ZmZ5PXRydWU=,这会强制您遍历所有密钥以找到正确的密钥。