首页 文章

Java:从Keystore文件确定KeyStore的类型

提问于
浏览
0

所以我有一个应用程序,我允许用户使用HTTPS配置服务器 . 服务器使用Undertow . 要向Undertow添加HTTPS处理程序,我需要调用Keystore.getInstance(“JKS”)函数,该函数返回基于提供程序的实现 . Java本身仅支持3个提供程序(JKS,PKCS12和JCEKS),但根据我的理解,您可以添加自己的Keystore实现提供程序 .

所以我的问题是,只给出密钥库文件,是否可以确定它是什么类型的密钥库?我不能依赖文件扩展名,因为PKCS12密钥库也可以存储在.p12文件扩展名中 . 我是否可以通过编程方式获取此值,以便将其传递给Keystore.getInstance()或者我是否必须从用户那里获取该输入?

1 回答

  • 0

    目前在WildFly中正在使用Elytron项目进行此类功能 . 你可以看看[1] .

    一些密钥库可以通过格式模式区分 . 但我认为在你的情况下最简单的方法是尝试逐个加载Keystore.getInstance(“PKCS12”),Keystore.getInstance(“JKS”),Keystore.getInstance(“JCEKS”)并查看哪一个通过 .

    另外我认为用户可以提供密钥库类型 .

    [1] https://issues.jboss.org/browse/WFCORE-4058

相关问题