nCipher 使用 KeySafe 在 java 中生成 AES 密钥
nCipher Using KeySafe generated AES Key in java
我们有一个 AES 密钥 由 nCipher 提供的 KeySafe Utility 生成。
我们如何使用此密钥来加密数据?我们可以从 KeySafe 生成的密钥创建密钥库吗?
我通过创建空白密钥库并从 java 代码创建新密钥并保存在密钥库中找到了示例,但在 KeySafe 上找不到任何内容。从 java 代码生成新密钥对我们来说不可行。
nCipher 密钥有一个应用程序类型,用于标识它们是为哪个受支持的 APIs 生成的。 JCE 提供程序的密钥具有应用程序类型 jcecsp。 KeySafe 无法生成 jcecsp 密钥,因此您可能拥有 simple 或 pkcs11 类型的密钥之一.您有多种选择:
- 如果您有 pkcs11 密钥,您可以使用 JDK 附带的 SunPKCS11 提供程序访问 PKCS#11 插槽作为密钥库。 Google 对于此提供程序并联系 Thales 支持以获取有关配置语言的一些提示。
- 如果您的密钥不是 pkcs11 并且您想走上面的路线,您可以将您的密钥重定向到 pkcs11。我实际上不知道 KeySafe 是否可以做到这一点,但命令行实用程序 generatekey 可以。
- 无论应用类型如何,您都可以使用 Pure Java nCore 和 NFKM APIs 直接访问您的密钥。如果您拥有 CipherTools SDK,您将找到充足的示例代码。
- 一旦被原生 API 加载,您可以将加载的密钥对象转换为 JCE 密钥对象,您可以将其存储在 nCipher.sworld 密钥库中。 CipherTools 示例代码中有一个 Interop 示例,提示您如何执行此操作。
- 如果实际密钥对您没有价值(意味着您愿意生成另一个密钥来开始),请使用 Java 的 KeyTool 直接在 nCipher.sworld KeyStore 通过 nCipherKM Provider。产品手册展示了如何正确调用KeyTool。为此,您甚至不需要 SDK。
如果您 运行 遇到任何问题,请联系 Thales 支持。
我们有一个 AES 密钥 由 nCipher 提供的 KeySafe Utility 生成。 我们如何使用此密钥来加密数据?我们可以从 KeySafe 生成的密钥创建密钥库吗?
我通过创建空白密钥库并从 java 代码创建新密钥并保存在密钥库中找到了示例,但在 KeySafe 上找不到任何内容。从 java 代码生成新密钥对我们来说不可行。
nCipher 密钥有一个应用程序类型,用于标识它们是为哪个受支持的 APIs 生成的。 JCE 提供程序的密钥具有应用程序类型 jcecsp。 KeySafe 无法生成 jcecsp 密钥,因此您可能拥有 simple 或 pkcs11 类型的密钥之一.您有多种选择:
- 如果您有 pkcs11 密钥,您可以使用 JDK 附带的 SunPKCS11 提供程序访问 PKCS#11 插槽作为密钥库。 Google 对于此提供程序并联系 Thales 支持以获取有关配置语言的一些提示。
- 如果您的密钥不是 pkcs11 并且您想走上面的路线,您可以将您的密钥重定向到 pkcs11。我实际上不知道 KeySafe 是否可以做到这一点,但命令行实用程序 generatekey 可以。
- 无论应用类型如何,您都可以使用 Pure Java nCore 和 NFKM APIs 直接访问您的密钥。如果您拥有 CipherTools SDK,您将找到充足的示例代码。
- 一旦被原生 API 加载,您可以将加载的密钥对象转换为 JCE 密钥对象,您可以将其存储在 nCipher.sworld 密钥库中。 CipherTools 示例代码中有一个 Interop 示例,提示您如何执行此操作。
- 如果实际密钥对您没有价值(意味着您愿意生成另一个密钥来开始),请使用 Java 的 KeyTool 直接在 nCipher.sworld KeyStore 通过 nCipherKM Provider。产品手册展示了如何正确调用KeyTool。为此,您甚至不需要 SDK。
如果您 运行 遇到任何问题,请联系 Thales 支持。