密钥库类型:使用哪一种?

2023-12-03

通过查看文件java.security of my JRE,我看到默认使用的密钥库类型设置为JKS. Here,有一个可以使用的密钥库类型的列表。

有推荐的密钥库类型吗?不同密钥库类型的优点/缺点是什么?


与您链接到的标准名称列表中列出的类型相比,还有更多类型。您可以在以下位置找到更多内容加密提供商文档。最常见的肯定是JKS(默认)和PKCS12(对于 PKCS#12 文件,通常带有扩展名.p12或有时.pfx).

如果您留在 Java 世界中,JKS 是最常见的。 PKCS#12 不是 Java 特定的,使用从浏览器备份或来自基于 OpenSSL 的工具(带有私钥)的证书特别方便(keytool在 Java 6 之前无法转换密钥库并导入其私钥,因此您必须使用其他工具)。

如果您已有 PKCS#12 文件,则使用PKCS12直接输入。可以转换格式,但如果您可以直接选择密钥库类型,则很少需要转换格式。

在Java 7中,PKCS12主要用作keystore但少了一个信任库(参见密钥库和信任库之间的区别),因为没有私钥就无法存储证书条目。相比之下,JKS不要求每个条目都是私钥条目,因此您可以拥有仅包含证书的条目,这对于信任存储非常有用,您可以在其中存储您信任的证书列表(但您没有私钥)他们)。

这在 Java 8 中发生了变化,因此您现在可以在PKCS12商店也有。 (有关这些变化和进一步计划的更多详细信息,请参见JEP 229:默认创建 PKCS12 密钥库.)

还有一些其他密钥库类型,可能不太常用(取决于上下文),包括:

  • PKCS11,对于 PKCS#11 库,通常用于访问硬件加密令牌,但 Sun 提供程序实现还通过此支持 NSS 存储(来自 Mozilla)。
  • BKS,使用 BouncyCastle 提供程序(通常用于 Android)。
  • Windows-MY/Windows-ROOT,如果您想直接访问Windows证书存储区。
  • KeychainStore,如果你想直接使用OSX钥匙串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

密钥库类型:使用哪一种? 的相关文章

  • 为什么这个基于java配置的Spring应用程序不能正常工作

    我最近开始了一个使用 Spring 框架的项目 目标是在没有 XML 配置文件 只有 Java 代码的情况下开发它 目前 我将以下文件添加到我的项目中 WebAppConfig java EnableWebMvc ComponentScan
  • 将数据传递到表单时的重定向后获取?

    我有几个场景 servlet 需要将数据从数据库检索到的记录传递到 JSP 中的表单 目前 我将此信息存储在请求中 使用 RequestDispatcher 转发到页面 一切都很好 然而 这不符合 PRG 模式 AFAIK 并且当然意味着刷
  • 何时在java中使用get/set方法[重复]

    这个问题在这里已经有答案了 我想知道何时在我的类中使用 get 和 set 方法 getName setName 以及何时简单classVariable name 反而 classVariable getName 这是使用 set 和 ge
  • Java - 直观地拖动摆动元素

    有没有类似的解决方案http allen sauer com com allen sauer gwt dnd demo DragDropDemo DragDropDemo html PaletteExample http allen sau
  • Spring 应用程序启动前的 Spring Boot 设置日志记录

    我有一个项目 在启动 SpringApplication 之前需要日志记录机制 我怎样才能做到这一点 我尝试设置自己的日志记录机制 LogManager getLogManager readConfiguration 但在 Spring 应
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • 使用 GIN 注入 Class

    有没有办法注入类类型Class
  • Java 8 流排序字符串列表[重复]

    这个问题在这里已经有答案了 我正在流上调用排序方法 java 文档说 Sorted 方法返回一个由该流的元素组成的流 并根据自然顺序排序 但是当我运行下面的代码时 List
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • RecyclerView onItemClickListener 不工作

    我正在研究回收视图并尝试对 recyclerview 的每个项目使用点击侦听器界面 这是我的活动课程 public class LegacyHomeActivity extends ActivityBaseDrawer private Li
  • Preg_match PHP 到 java 的翻译

    我在将 php preg match 转换为 java 时遇到一些问题 我以为我的一切都是正确的 但它似乎不起作用 这是代码 原始PHP Pattern for 44 Character UUID pattern 0 9A F 44 if
  • Java:字符串连接和变量替换的最佳实践[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 Java 中连接字符串和添加变量值的方法有太多 我应该如何选择一个 优点 缺点 最佳用例等 MessageFormat forma
  • IntelliJ IDEA:忽略代码覆盖率中的琐碎方法

    在 IntelliJ IDEA 15 0 2 中 如何在测试覆盖率测量期间忽略琐碎的 getter 和 setter 琐碎方法 should be measure public void complex fancy interesting
  • 为什么 RFC 6797 禁止通过纯 HTTP 响应发送 Strict-Transport-Security 标头?

    在阅读 HSTS 严格传输安全 规范时 我看到了一条禁令第 7 2 节 https www rfc editor org rfc rfc6797 section 7 2禁止在通过 http 而不是 https 访问时发送标头 HSTS 主机
  • 在java中的super调用之前创建一个对象

    考虑到简单的java代码是行不通的 public class Bar extends AbstractBar private final Foo foo new Foo bar public Bar super foo 我需要在之前创建一个
  • 将文件内容存储到数组中

    我的刽子手程序有问题 我真的认为我需要做的事情超出了我对java的理解 这是我的代码 import java io BufferedReader import java io FileReader import java io FileNo
  • JVM 调试端口 7779 正在使用

    我正在使用 RAD 8 当我在调试模式下启动服务器时 它会显示一条错误消息 指出JVM debug port 7779 is in use 我多次遇到这个问题 因为我知道 RAD 使用了这个端口 所以我不得不停止这个过程窗口任务管理器 gt
  • 数组所有可能的组合

    我有一个字符串数组 ted williams golden voice radio 我希望这些关键字的所有可能组合采用以下形式 ted williams golden voice radio ted williams ted golden
  • Eclipse IDE - 错误:构建路径指定执行环境 Java SE 1.7

    在 Eclipse 中 我收到一个错误 构建路径指定执行环境Java SE 1 7 工作区中没有安装与此环境严格兼容的 JRE 尝试这个 In Eclipse your project gt properties gt java build
  • Jsplitpane 自动调整大小

    我有一个 JSPlitPane 它们之间有 50 的分隔线 这工作正常 但是 当我在右侧添加一些 JLabels 时 jsplitpane 会忽略我的 50 分隔符 左侧窗格会增加其大小 并会挤压右侧窗格 为什么会发生这种情况以及如何解决

随机推荐

  • 在控制台显示上对齐 printf() 列并防止溢出到下一行?

    printf processid t threadid t refilling t drinking t thinking t waiting t terminated t p type t required t consumed t wa
  • 如何在循环中追加多个 pandas DataFrame?

    我已经在这个 python 问题上苦苦挣扎了一段时间 但陷入了困境 我正在循环遍历多个 csv 文件 并希望有一个数据框以每个 csv 文件中的一列作为列名称并设置 date time 的公共索引的方式附加 csv 文件 有 11 个 cs
  • RoR 3 限制用户每天发帖 2 条

    我正在寻找方法限制我的用户每天发帖次数不超过两次 并且每周发帖次数不超过 5 个 我有一个用户和帖子模型 控制器 我一直在研究这些问题 但它们并不完全是我想要的 Rails 3 1 限制用户创建的对象 如何验证 Rails 中的时间 限制用
  • Fortran if 语句中的隐式转换整数 <--> 逻辑

    我有一些遗留的 Fortran 代码 我被要求分析它们并将其翻译成现代语言 我不知道过去使用哪个编译器来编译代码 所以现在我尝试使用 gfortran 来编译它 该代码包含这样的语句 导致 gfortran 抱怨 program test
  • 将元素形成 numpy 数组作为另外两个 numpy 数组时出现广播错误

    我正在尝试生成一个 numpy 数组 其元素作为另外两个 numpy 数组 如下所示 W1b1 np zeros 256 161 W2b2 np zeros 256 257 Wx np array W1b1 W2b2 dtype np ob
  • 具有空布局的 JPanel 类不显示组件

    因此 我创建了一个 CustomPanel 类的对象 该对象创建一个带有 GridLayout 的 JPanel 和其中的标签 然后将其添加到我的 JFrame 中 它可以很好地显示标签 HELLO 但是当我将 jpanel 的布局管理器更
  • 带有单位的 POSIXct 的差异,就像 difftime 一样

    我有一个 POSIXct data 向量 想要计算连续元素之间的差异 就像通过diff e g burst lt as POSIXct c 2016 11 07 17 20 52 2016 11 07 16 21 52 2016 11 07
  • constexpr 和 RTTI

    我想做这样的事情 template
  • 如何在编译时显示 #define 的值?

    我试图找出我的代码认为它使用的 Boost 版本 我想做这样的事情 error BOOST VERSION 但预处理器不会扩展 BOOST VERSION 我知道我可以在程序运行时将其打印出来 并且我知道我可以查看预处理器的输出来找到答案
  • C# 中用户定义的编译器警告或错误[重复]

    这个问题在这里已经有答案了 是否可以让某些代码让编译器生成编译警告或错误 也许有属性 有了第一个答案和一些评论 我意识到我的问题并不像我预期和希望的那么清晰 我道歉 希望所有贡献者仍然和我们在一起 所以我更倾向于内部 DSL S Th 喜欢
  • 以固定的迭代次数迭代 for 循环

    我在 ant 脚本中使用 ant contrib 库 但我不知道如何制作固定金额 使用 foreach 标签的循环 我所说的固定迭代次数并不是指某些硬编码值 而是从命令行提供的 ant 属性 以下代码创建一个具有固定次数 5 次迭代的循环
  • 来自 iframe 本身的 iframe 上的 div

    我有一个 div 包含在外部 html 的 iframe 内 基于 html 的 上下文菜单 需要位于 iframe 之上 但上下文菜单的 html 代码位于 iframe 本身中 首选纯 CSS 解决方案 iframe 的内容无法显示在
  • JpegBitmapEncoder.Save() 在使用元数据写入图像时抛出异常

    我正在构建一个 WPF 桌面应用程序来帮助我组织照片以发布到 Facebook 以下是我在新位置创建照片副本并添加标题 EXIF IPTC XMP 的代码 private void SaveImageAs string currPath s
  • 查找列表中总计达到目标数字的元素

    假设我有一个列表 List
  • 如何动态增加 UITableViewCell 的高度

    我有一个 UITableView 其中包含 UITableViewCells 列表 我在方法中设置了 UITableViewCells 的高度 CGFloat tableView UITableView tableView heightFo
  • 在 Plotly 中悬停/单击时更改整个迹线的颜色

    我在绘图中绘制了当前图形 下面的 jupyter 笔记本代码 并希望创建这样的效果 当您将鼠标悬停或单击每个迹线时 整个迹线将以不同的颜色突出显示 在本例中为红色 我尝试从 SOF 中实现这些示例 Python 中的 Plotly 如何突出
  • 根据泛型类型调度不同的函数

    我想编写一个函数 让我分派传入的泛型类型 我不关心运行时值 只关心编译时类型 const value any const x DateTime parseAs
  • 在 C++ 中以特定间隔速率调用方法

    这真的让我很恼火 因为我以前做过 大约一年前 我一辈子都不记得那是什么图书馆了 基本上 问题是我希望能够以指定的时间间隔调用某个方法一定次数或一定时间段 一个例子是我想从现在开始调用方法 x 10次 每0 5秒一次 或者 从现在开始调用方法
  • 当我们删除一个项目时,字典会调整大小吗?

    在Python中 当我们从字典中删除一个项目时 字典会调整大小还是重建字典表 从一些网站和博客中我了解到 当我们从字典中删除一个项目时 Python会在删除的键中插入一个虚拟键来填充字典条目 稍后 Python将通过调用一些清理函数来清理虚
  • 密钥库类型:使用哪一种?

    通过查看文件java security of my JRE 我看到默认使用的密钥库类型设置为JKS Here 有一个可以使用的密钥库类型的列表 有推荐的密钥库类型吗 不同密钥库类型的优点 缺点是什么 与您链接到的标准名称列表中列出的类型相比