首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoftHSM2返回“错误解析配置”

SoftHSM2返回“错误解析配置”
EN

Stack Overflow用户
提问于 2021-08-18 01:21:41
回答 1查看 259关注 0票数 1

我正在尝试在我的项目中使用Softhsm2。不幸的是,它一直在显示

java.security.ProviderException:错误解析配置

我尝试重新安装应用程序,但问题仍然存在。我能知道我错过了什么吗?请检查下面的源代码,配置文件,令牌,java版本和环境变量。

误差结果

代码语言:javascript
复制
public static void main(String[] args) {
    try {
         String configName = "softhsm2.conf";

         Provider p = new SunPKCS11(configName);
         
         if (-1 == Security.addProvider(p)) {
                throw new RuntimeException("could not add security provider");
         }

         // Load the key store
         char[] pin = "mypin".toCharArray();
         KeyStore keyStore = KeyStore.getInstance("PKCS11", p);
         keyStore.load(null, pin);

         // AES key
         SecretKeySpec secretKeySpec = new SecretKeySpec("0123456789ABCDEF".getBytes(), "AES");
         Key key = new SecretKeySpec(secretKeySpec.getEncoded(), "AES");

         keyStore.setKeyEntry("AA", key, "1234".toCharArray(), null);
         keyStore.store(null); //this gives me the exception.                             
    } catch(Exception e) {
        System.out.println("error: " + e.toString());
    }
}

产生的令牌:

代码语言:javascript
复制
    Microsoft Windows [Version 10.0.17134.1304]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>cd/

C:\>cd softhsm2

C:\SoftHSM2>cd bin

C:\SoftHSM2\bin>softhsm2-util.exe --show-slots
Available slots:
Slot 1759353984
    Slot info:
        Description:      SoftHSM slot ID 0x68dd9c80
        Manufacturer ID:  SoftHSM project
        Hardware version: 2.5
        Firmware version: 2.5
        Token present:    yes
    Token info:
        Manufacturer ID:  SoftHSM project
        Model:            SoftHSM v2
        Hardware version: 2.5
        Firmware version: 2.5
        Serial number:    8414edde68dd9c80
        Initialized:      yes
        User PIN init.:   yes
        Label:            My token 2
Slot 2066642166
    Slot info:
        Description:      SoftHSM slot ID 0x7b2e74f6
        Manufacturer ID:  SoftHSM project
        Hardware version: 2.5
        Firmware version: 2.5
        Token present:    yes
    Token info:
        Manufacturer ID:  SoftHSM project
        Model:            SoftHSM v2
        Hardware version: 2.5
        Firmware version: 2.5
        Serial number:    9176dec57b2e74f6
        Initialized:      yes
        User PIN init.:   yes
        Label:            My token 1
Slot 2
    Slot info:
        Description:      SoftHSM slot ID 0x2
        Manufacturer ID:  SoftHSM project
        Hardware version: 2.5
        Firmware version: 2.5
        Token present:    yes
    Token info:
        Manufacturer ID:  SoftHSM project
        Model:            SoftHSM v2
        Hardware version: 2.5
        Firmware version: 2.5
        Serial number:
        Initialized:      no
        User PIN init.:   no
        Label:

C:\SoftHSM2\bin>

配置:C:\SoftHSM2 2\etc\softhsm2.conf

代码语言:javascript
复制
# SoftHSM v2 configuration file
directories.tokendir = C:\SoftHSM2\var\softhsm2\tokens\
objectstore.backend = file
log.level = INFO
slots.removable = false
代码语言:javascript
复制
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

环境变量SOFTHSM2_CONF C:\SoftHSM2 2\etc\softhsm2.conf

路径:C:\SoftHSM2 2\lib\

EN

回答 1

Stack Overflow用户

发布于 2021-08-18 11:39:18

我不是JAVA专家,但您似乎将错误的配置传递给了SunPKCS11提供程序。

在您的场景中似乎有两种不同的配置:

  1. SunPKCS11 configuration,指示SunPKCS11提供程序加载哪个PKCS#11库。
  2. SoftHSM2 configuration,它指示SoftHSM2库在何处存储数据等。

文档建议,在您的示例中,SunPKCS11配置应该类似于以下内容:

代码语言:javascript
复制
name = SofHSM2
library = c:\SoftHSM2\lib\softhsm2-x64.dll
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68825552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档