- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想使用 HSM(硬件安全模块)创建 XML 文件的签名。不过,我做了一些研究,现在有点困惑。
能否请您澄清一下这些问题:
最佳答案
JCE 中的 key 句柄是什么意思?
key 句柄(在 JCE、PKCS#11 或大多数其他加密 API 中)只是一个引用,使您能够在不查看其实际值的情况下使用 key 。这很好:您可以将 key 永久存储在一个安全的地方(例如 HSM),并确保没有人能够复制它并带走它——因为如果 key 是应用程序空间,这可能会发生。不过,与物理保险箱不同的是,您仍然可以执行加密操作,而不会冒任何 key 泄露的安全风险。
PKCS#11 标准是否定义了在 HSM 中生成签名的方法?
PKCS#11 是用于加密 token 的 C API。 token 是对提供此类 API 描述的服务的任何设备或程序的 PKCS#11 抽象。 API 定义了您可以使用 PKCS#11 token 内的对象执行哪些操作:一些对象是非敏感的,可以提取(例如公钥);其他一些是敏感的,只能通过 handle 使用。
如果您有支持签名的对象句柄,则可以使用 C 函数 C_Sign要求 token 对您的应用程序提供的某些数据进行身份验证。 key 不会离开 HSM。
我的 HSM 的功能列表分别说明了 JCE 和 PKCS#11。这是什么意思?
您的 HSM 支持 JCE,因为它带有一个符合 Cryptographic Service Provider 的 native 库。 .
它支持 PKCS#11,因为它附带一个提供 C PKCS#11 API 的 native 库。
我认为 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/
是否可以将通过 ncipher JCE API 生成的 key “重定向”到 pkcs11?我知道您可以通过 generatekey 命令重新定位,但我不知道如何对现有的 JCE key 执行此操作。
你能帮我指出默认的 RSA 填充是什么吗? 准确地说,如果我如下创建密码实例,确保 java 使用某种填充作为加密文本字节长度始终显示 256 字节的 2048 RSA key ,无论纯文本是一个字符
这个问题在这里已经有了答案: How to avoid installing "Unlimited Strength" JCE policy files when deploying an appl
我正在尝试使用 jasypt 使用基于密码的 aes 加密来加密一个简单的字符串,并且我在很多代码示例中遇到该算法以字符串形式给出,如“PBEWithSHA512AndAES256-CBC-BC”。我
我需要编写一个 java JCE 提供程序。我已经在网上查了好几天了,但找不到解决方案。您能给我一些有用的信息吗?问候, 最佳答案 文档是 here和 here ,但是你为什么要这样做呢?大多数主流加
我有一个 Joomla! 3.3.3 并且我正在使用 JCE。我的问题是编辑器没有在工具栏上显示按钮的图标。使用 Firebug,我意识到这是所有主题的 css 路径中的问题。 在本例中,我使用的是
如我所见document ,JCE 有多个提供者。如何找出默认可用的提供程序? 最佳答案 调用Security.getProviders() ,例如 for (Provider provider :
在 JRE 更新后,JCE 策略文件(位于 {java.home}/lib/security)是否被标准强度策略文件覆盖?还是这些在 JRE 更新中单独存在? 编辑:有谁知道 Mac OS X JRE
是否可以使用 Java 的 JCE 库加密整个文件夹。如果有问题,这些文件夹将包含其他文件夹/文件。对于那些不知道 JCE 是什么的人,它代表 Java Cryptography Extension,
我正在使用以下代码来获取 AESCMAC Mac mac = Mac.getInstance("aescmac", new BouncyCastleProvider()); mac.init(k_ma
我已经安装了JDK 7 。其中已包含以下 JAR: local_policy US_export_policy 但是当我开始申请时,我面临着 JCE error 。所以我用谷歌搜索并下载了JDK 7
有谁知道为什么我无法在 Eclipse 中查看“Cipher”的源代码?源代码在那里,我可以看到 openjdk 中的一些其他内置源代码,例如“println”,但无法弄清楚为什么我无法查看“Ciph
我必须运行一个相当旧的程序代码,它使用 ABA-provider for JCE。所有类都可以在源文件夹中找到。但是,会出现 NoSuchProviderException:“JCE 无法验证提供程序
我开发了一个应用程序,在 BountyCaSTLe.jar 的帮助下,我在其中使用了密码术。我还有一行 Security.addProvider(new org.bouncycaSTLe.jce.pr
我们有自定义的 JCE 安全提供商,它使用我们的智能卡来执行加密操作。 当我们尝试使用某些类(如 Cipher、KeyAgreement、KeyGenerator、Mac 或 SecretKeyFac
我有一个关于 JCE 加密的问题。您如何用 Java 编写自己的加密算法/ key 生成器,可以将其作为 .jar 文件安装在 ext 目录中?我想出了算法的基本思想,但我不知道如何实现它。我是否将
我正在开发一个程序,我将使用该程序使用 JCE 来加密和解密文件。我的加密和解密在默认模式 (ECB/PKCS5PADDING) 下正常工作,但是当我尝试使用 CBC 并解密我的文件时,我得到的一些文
我们已将 Java 产品配置为仅使用经 FIPS 验证的 RSA JCE 加密提供程序。但是,当 只有 RSA 库在 java.security 中列出时,该产品将无法工作。因此,有些东西正在向其他提
Sun 的 PKCS11 JCE 安全提供程序缺少我们需要的一些功能。 所以我使用原始资源编写了它的增强版本。 不幸的是,JCE 基础设施拒绝了新的提供者 “JCE 无法验证提供者” 因为它没有正确签
不论是JCE还是CKEDITOR,都没解决中文名文件的问题,要么上传失败,要么传上去了中文名不能被web访问。相比之下,JCE更加人性化,比如文件上传后默认被选中,不需用户在那么小的弹出窗口去上下翻
我是一名优秀的程序员,十分优秀!