我有一个简单的问题要问Java SSL专家.

密钥管理器工厂 keyManagerFactory = 密钥管理器工厂.getInstance(密钥管理器工厂.getDefault算法rithm());
keyManagerFactory.init(KeyStore.getInstance(mykeyfile, password), password);

在上面的代码片段中,提供2个密码的需要是什么?

这是给密钥库的,我明白了.密钥管理器工厂需要在init方法中使用密码吗?


我在Javadoc中发现了这个,它很混乱.所以才有这个问题!

  • 密钥库类说明了这一点.

    • 文件-密钥库
    • 文件密码-密钥库密码
  • 密钥管理器工厂

    • KS-密钥库
    • Password-恢复密钥库中的密钥的密码

推荐答案

一些Java密钥库格式,特别是JKS和JCEKS,对于store(文件)可以有一个密码,对于存储的(或每个)Private Key in可以有一个单独的、不同的密码.自2017年以来,Oracle一直在推动Java开发人员和用户使用或切换到PKCS12,(在Java中)PKCS12不支持不同的密码,但人们仍然可以使用其他格式,这一功能保留在(主要是先前定义的)API中.(PS:这是真正的密码学,而不仅仅是SSL/TLS;Java密码学可以并且还用于许多其他事情.)

Java相关问答推荐

如何在Spring Boot中创建500错误的响应正文?

如果给定层次 struct 级别,如何从其预序穿越构造n元树

为什么一个java函数会返回一个作为参数传递给它的对象?

取消按钮,但没有任何操作方法引发和异常

S的字符串表示是双重精确的吗?

为什么不应用类型推断?

CompleteableFuture是否运行在不同的内核上?

如何使用值中包含与号的查询参数创建一个java.net.URI

具有阻塞方法的开源库是否应该为执行提供异步选项?

自定义批注的外推属性值

未找到适用于响应类型[类java.io.InputStream]和内容类型[Text/CSV]的HttpMessageConverter

继续收到错误SQLJDBC EXCEPTION执行";org.springframework.dao.InvalidDataAccessResourceUsageException:&

try 使用Spring集成和MySQL实现发件箱模式时,锁定等待超时

Android Java:已设置但未读取SharedPreferences

二进制数据的未知编码/序列化

在整数列表中查找和可被第三个整数整除的对时出现无法解释的RunTimeError

在WHILE()循环初始化部分中声明和初始化变量的Java语法?

为什么Spring要更改Java版本配置以及如何正确设置?

Spring Mapstruct如何获取Lazy初始化实体字段的信息?

元音变音字符:如何在 Java 中将Á<0x9c>转换为Ü?