JCE中是否有任何机制来指定密钥生成时间(会话密钥或永久密钥)

时间:2016-09-08 13:48:04

标签: java cryptography jce

我正在为HSM实施JCE提供程序

JCE中是否有任何机制来指定密钥生成类型 例如:会话密钥或永久密钥

     key = keygen.generateKey(flag); 
     flag = 0/1 session key/permanent key
     keygen.deleteKey(); //to delete permanent key 

我需要类似的东西:

var array = require('./some-things.json');

2 个答案:

答案 0 :(得分:1)

不,无法指定会话密钥或永久密钥。

但您当然可以定义自己的AlgorithmParameterSpec,以便在init方法中使用,并在engineInit KeyGeneratorSpi中实施AlgorithmParameterSpec AlgorithmParameterSpec如果某些东西是会话密钥或永久密钥,并且包含算法的参数(即指定AES的密钥大小的参数),并且可能有另一种检索密钥大小的方法(因为它没有' t似乎是密钥大小的任何特定KeyStore

您可能应该让您的提供商默认到会话密钥;通常,键值会丢失,除非它存储在class Action(models.Model): action_name = models.CharField(max_length = 100) def __str__(self): return self.action_name class Employee(models.Model): employee_id = models.AutoField(primary_key = True) employee_name = models.CharField(max_length = 100) def __str__(self): return self.employee_name class Attendance(models.Model): employee = models.ForeignKey(Employee) action = models.ForeignKey(Action) action_time = models.DateTimeField(default=timezone.now()) 或编码到文件中。

答案 1 :(得分:0)

JCE框架工作不是通过保持H / W令牌要求的视图来开发的

我找到了一个解决方法:

生成所有密钥作为令牌密钥(永久)并维护散列表中的密钥句柄的引用

我的JCE提供程序有一个关闭函数,当应用程序终止时将调用该函数。

使用哈希表中的引用删除该关闭函数中的所有键。

如果密钥存储在密钥存储区中,我将从哈希表中删除特定的密钥句柄,以便在关闭函数中不会被删除