All directories are prepared by the build script and are set to be owned by root, so all commands in the default configuration must also be run by root. To change this, alter the configuration or privileges on the files and directories.
Before you run the system for the first time you must import your policy and zone list into the database using the following command:
After running this the first time, you will be ready to run OpenDNSSEC with an empty set of zones. On the other hand, if this command is run on an existing database, then will all meta-information about the zones be lost. The keys would then still exist in HSMs, so you should not forget to clean them up.
OpenDNSSEC consist of two daemons, ods-signerd and ods-enforcerd. To start and stop them use the following commands:
A proper-looking response to this commands is:
Starting enforcer... OpenDNSSEC ods-enforcerd started (version 1.2.0b1), pid 11424 Starting signer engine... OpenDNSSEC signer engine version 1.2.0b1
At any time, you can stop OpenDNSSEC's daemons orderly with:
After this, your logs should contain messages like:
Stopping enforcer... Stopping signer engine.. Engine shut down.
Your zone will be signed, once you have setup the system and started it. When you have verified that the zone is operational and working, it is time to upload the trust anchor to the parent zone. The Enforcer is waiting for zone to be connected to the trust chain before considering the KSK to be active.
ods-ksmutil key list --verbose Keys: Zone: Keytype: State: Date of next transition: CKA_ID: Repository: Keytag: example.com ZSK active 2010-10-15 06:59:28 92abca348b96aaef42b5bb62c8daffb0 softHSM2 28743 example.com KSK ready waiting for ds-seen 9621ca39306ce050e8dd94c5ab837001 softHSM1 22499
Export the public key either as DNSKEY or DS, depending on what format your parent zone wants it in. See the section Export the public keys, on how to get the key information.
This step can be automated or semi-automated by placing a command in the <DelegationSignerSubmitCommand> tag. This should point to a binary which will accept the required key(s) as DNSKEY RRs on STDIN.
Notify the Enforcer when you can see the DS RR in your parent zone. You usually give the keytag to the Enforcer, but if there are KSKs with the same keytag then use the CKA_ID.
ods-ksmutil key ds-seen -z example.com -x 22499
ods-ksmutil key ds-seen -z example.com -k 9621ca39306ce050e8dd94c5ab837001
Result: Found key with CKA_ID 9621ca39306ce050e8dd94c5ab837001 Key 9621ca39306ce050e8dd94c5ab837001 made active
And you will see that your KSK is now active:
ods-ksmutil key list Keys: Zone: Keytype: State: Date of next transition: example.com ZSK active 2010-10-15 07:20:53 example.com KSK active 2010-10-15 07:31:03
The details of common key management activities are described on the Key Management page - these include:
The details of common zone management activities are described on the Zone Management page - these include:
When you make changes to a policy or add a new policy in kasp.xml you must update the changes to the database.
ods-ksmutil update kasp
When making changes to the KASP policy the following should be considered:
After updating signature timers in the policy it may be helpful to issue the command:
$ ods-signer clear <zone>; ods-signer sign <zone>
as it will speed up acclimatising timers for the signatures.
Details of logs produced by the system can be found on the Logging page.