OpenDNSSEC

`OpenDNSSEC<https://www.opendnssec.org/>`__ 是一套管理域名安全的工具。它可以直接加载 PKCS#11 模块并管理密钥。

要安装和设置 OpenDNSSEC,可以按照`OpenDNSSEC 快速入门指南<https://wiki.opendnssec.org/display/DOCS20/Quick+start+guide>`__ 进行。您无需安装``SoftHSM``,而是使用 NetHSM PKCS#11 模块。

由于 OpenDNSSEC 需要访问权限来管理和使用密钥,因此需要在 PKCS#11 模块配置文件中配置管理员和操作员账户。

您可以通过编辑``/etc/opendnssec/conf.xml`` 文件来配置 OpenDNSSEC 以加载 libnethsm_pkcs11.so 模块。您需要添加以下行:

<?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>

将``/root/libnethsm_pkcs11.so`` 替换为 libnethsm_pkcs11.so 模块的路径。您需要将``<TokenLabel>`` 与您在``p11nethsm.conf`` 配置文件中设置的标签相匹配。<PIN> 是操作员 PIN 码,可以在``conf.xml`` 文件中以纯文本方式设置,或使用``ods-hsmutil login``。OpenDNSSEC 需要提供密码,否则将拒绝启动。

您还需要将``/etc/opendnssec/kasp.xml`` 中的``<Repository>`` 字段更新为``NetHSM``,而不是默认的``SoftHSM``:

<KASP>
      <Policy name="...">

            ...

            <Keys>

                  ...

                  <KSK>
                          ...
                          <Repository>NetHSM</Repository>
                  </KSK>
                  <ZSK>
                          ...
                          <Repository>NetHSM</Repository>
                  </ZSK>
          </Keys>

          ...

      </Policy>

      ...

</KASP>