gpt4 book ai didi

java - JCA/JCE 和 PKCS#11 如何(一起)工作?

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:31 24 4
gpt4 key购买 nike

我想使用 HSM(硬件安全模块)创建 XML 文件的签名。不过,我做了一些研究,现在有点困惑。

能否请您澄清一下这些问题:

  1. JCE 中的 key 句柄 是什么意思?我读过它,它只是一个句柄, key 存储在其他地方。这个怎么可能?根据我的理解,我要么将 key 加载到内存中并使用它,要么签名完全由 HSM 完成,我只得到结果,对吗?
  2. PKCS#11 标准是否定义了在 HSM 中生成签名的方法?我读过有关 token 的内容,但我不确定是否要签名。
  3. 我的 HSM 的功能列表分别列出了 JCE 和 PKCS#11。这意味着什么?
  4. 我认为 PKCS#11 是一个标准,JCE 定义了使用该标准的类。 JCE 是否指定了自己的协议(protocol)?

最佳答案

  1. JCE 中的 key 句柄是什么意思?
    key 句柄(在 JCE、PKCS#11 或大多数其他加密 API 中)只是一个引用,使您能够在不查看其实际值的情况下使用 key 。这很好:您可以将 key 永久存储在一个安全的地方(例如 HSM),并确保没有人能够复制它并带走它——因为如果 key 是应用程序空间,这可能会发生。不过,与物理保险箱不同的是,您仍然可以执行加密操作,而不会冒任何 key 泄露的安全风险。

  2. PKCS#11 标准是否定义了在 HSM 中生成签名的方法?
    PKCS#11 是用于加密 token 的 C API。 token 是对提供此类 API 描述的服务的任何设备或程序的 PKCS#11 抽象。 API 定义了您可以使用 PKCS#11 token 内的对象执行哪些操作:一些对象是非敏感的,可以提取(例如公钥);其他一些是敏感的,只能通过 handle 使用。
    如果您有支持签名的对象句柄,则可以使用 C 函数 C_Sign要求 token 对您的应用程序提供的某些数据进行身份验证。 key 不会离开 HSM。

  3. 我的 HSM 的功能列表分别说明了 JCE 和 PKCS#11。这是什么意思?
    您的 HSM 支持 JCE,因为它带有一个符合 Cryptographic Service Provider 的 native 库。 .
    它支持 PKCS#11,因为它附带一个提供 C PKCS#11 API 的 native 库。

  4. 我认为 PKCS#11 是一个标准,JCE 定义了使用该标准的类。 JCE 是否指定了自己的协议(protocol)?
    实际上 PKCS#11 是一个标准;但它不能直接被 C 以外的语言使用。您需要一个映射层将其翻译成与您的语言兼容的内容。 PKCS#11 库(及其提取的物理标记)可以映射到 a JCE provider .

但是,JCE 提供者可能与 PKCS#11 无关。

关于java - JCA/JCE 和 PKCS#11 如何(一起)工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12937138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com