有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

不管名称/值对是如何处理的,只要它们可以被存储(实际上,这取决于应用程序对它们的理解)

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

编辑: KeyStore.SecretKeyEntry有一个接受Set{}的KeyStore.setEntry的CTOR,使用KeyStore.setEntry可以传递这样的SecretKeyEntry包括其元数据。不幸的是,默认的JCEKS实现似乎忽略了这些属性


共 (1) 个答案

  1. # 1 楼答案

    如果应用程序的工作是理解关键,那么你为什么不做下面这样的事情呢

    一个字符串键

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

    或者你可以解析到base64

    Key: cmFiYml0P2NvbG9yPXdoaXRlJnNpemU9c21hbGwmZmx1ZmZ5PXRydWU=

    我在这里看到的问题是,对于一个字符串,您将无法将键“rabbit”与属性解除关联。例如,在JKS上,上面的键是-alias cmFiYml0P2NvbG9yPXdoaXRlJnNpemU9c21hbGwmZmx1ZmZ5PXRydWU=,这将迫使您遍历所有键以找到正确的键