我想知道是否有任何密钥存储实现允许存储密钥属性,比如名称/值对,以及对称密钥的值?看起来 JKS 和 JCEKS 只允许存储键值和键的别名,因此请寻找其他选项(如果有)。
不管如何处理名称/值对,只要它们可以被存储(实际上,由应用程序来理解它们)。
所以我想放在密钥库中的是:
alias1 - keyvalue1 - metadata1=[md1=value11 md2=value12 md3=value13 ...]
alias2 - keyvalue2 - metadata2=[md1=value21 md2=value22 md3=value23 ...]
...
不要关心元数据的编码,但它应该可以单独检索。
编辑:
KeyStore.SecretKeyEntry
有一个 CTOR 接受 a Set
of Attribute
s 并使用KeyStore.setEntry
一个可以传递这样的 aSecretKeyEntry
包括其元数据。不幸的是,看起来默认的 JCEKS 实现只是忽略了属性。