Liunx Softhsm2的安装和使用

该文详细介绍了在Windows环境下通过msi和压缩包两种方式安装Softhsm2,包括安装依赖包、编译源代码、初始化令牌和配置文件。之后,文章演示了如何使用Java与Softhsm2进行集成,特别是通过SunPKCS11提供者加载KeyStore。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

若需要windows版本,请使用下面两种安装方式

win下有两种方式:msi安装方式,压缩包安装方式。github传送门

安装所需的依赖包

yum -y install automake
yum -y install autoconf
yum -y install libtool
yum -y install gcc gcc-c++ kernel-devel
yum -y install openssl openssl-devel

softhsm各版本传送门

下载安装包

wget https://dist.opendnssec.org/source/softhsm-2.3.0.tar.gz

解压缩

tar -xzf softhsm-2.3.0.tar.gz

开始编译阶段

./configure --disable-gost

编译源代码
make

安装库
sudo make install

初始化您的令牌

访问目录:

./src/bin/util

执行命令

./softhsm2-util --init-token --slot 0 --label "My token 1" --pin 12345 --so-pin 12345

生成的slot 需要记下来 cfg配置文件需要这个值
The token has been initialized and is reassigned to slot 462451351

查看token

./softhsm2-util --show-slots

以下为java方式使用softhsm

softhsm2.cfg 配置文件:

name = SoftHSM
library = /usr/local/lib/softhsm/libsofthsm2.so
slot = 462451351
attributes(generate, *, *) = {
   CKA_TOKEN = true
}
attributes(generate, CKO_CERTIFICATE, *) = {
   CKA_PRIVATE = false
}
attributes(generate, CKO_PUBLIC_KEY, *) = {
   CKA_PRIVATE = false
}

代码:

public class App {

 public static void main(String[] args) throws Exception {
   InputStream configName = App.class.getClassLoader().getResourceAsStream("softhsm2.cfg");
   // Set up the Sun PKCS 11 provider
    Provider p = new SunPKCS11(configName);
    // Java 9+
    // Provider p = Security.getProvider("SunPKCS11");
    // p = p.configure(configName);

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

}

参考链接:

https://wiki.opendnssec.org/display/SoftHSMDOCS/SoftHSM+Documentation+v2

https://github.com/simmel/cryptobice

https://techglimpse.com/install-softhsm-source-compilation/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值