OpenDNSSEC#
OpenDNSSEC is a tool suite for managing the security of domain names. It can directly load a PKCS#11 module and manage the keys.
To install and setup OpenDNSSEC, you can follow the OpenDNSSEC Quick Start Guide. You don’t need to install SoftHSM
, the NetHSM PKCS#11 module will be used instead.
As OpenDNSSEC needs access to manage the keys and then use them, you will need to configure both administrator and operator account in the PKCS#11 module configuration file.
You can configure OpenDNSSEC to load the libnethsm_pkcs11.so module by editing the /etc/opendnssec/conf.xml
file. You will need to add the following lines:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
...
<RepositoryList>
<Repository name="NetHSM">
<Module>/root/libnethsm_pkcs11.so</Module>
<PIN>opPassphrase</PIN>
<TokenLabel>LocalHSM</TokenLabel>
</Repository>
...
</RepositoryList>
...
</Configuration>
Replace /root/libnethsm_pkcs11.so
with the path to the libnethsm_pkcs11.so module.
You need to match the <TokenLabel>
with the label you set in the p11nethsm.conf
configuration file.
The <PIN>
is the operator PIN, you can either set it in plain text in the conf.xml
file or use ods-hsmutil login
. OpenDNSSEC need to have a pin provided or it will refuse to start.
You also need to update the <Repository>
fields in /etc/opendnssec/kasp.xml
to NetHSM
instead of the default SoftHSM
:
<KASP>
<Policy name="...">
...
<Keys>
...
<KSK>
...
<Repository>NetHSM</Repository>
</KSK>
<ZSK>
...
<Repository>NetHSM</Repository>
</ZSK>
</Keys>
...
</Policy>
...
</KASP>