AFAIK Jan V. is already working on PKCS#11 support (via openssl).
O.
--
 Ondřej Surý -- Chief Science Officer
 -------------------------------------------
 CZ.NIC, z.s.p.o.    --    Laboratoře CZ.NIC
 Americka 23, 120 00 Praha 2, CZE
 mailto:ondrej.sury@nic.cz    
 tel:+420.222745110      fax:+420.222745112
 -------------------------------------------
  On 31. 10. 2013, at 14:42, Johan Ihrén
<johani(a)johani.org> wrote:
 Hi Marek,
  On Oct 29, 2013, at 18:31 , Marek Vavruša wrote:
 First things is our first beta version ever released (did you know?).
 It is a sneak peek of one of the major features we are working on
 right now. That new thing is the automatic DNSSEC signing. While it is
 still an EXPERIMENTAL feature, we would like to encourage you to give
 it a try and let us know what you think, like or hate. This would help
 us immensely to change things when we still have time to do so, and
 iron out bugs before we bake a release candidate. The configuration is
 quite simple and can be found in the documentation.
 More so, we have written a short "how to" on our Wiki page here:
 
https://gitlab.labs.nic.cz/labs/knot/wikis/dnssec-quickstart
 And the shortcomings here:
 
https://gitlab.labs.nic.cz/labs/knot/wikis/dnssec-limitations
 All in all, it should be as simple as giving it a directory with keys
 and push the button. Is it really?
 A lot of changes happened under the bonnet as well (and some things
 still in progress!). Things like reduced memory usage, faster query
 processing, test modules and faster zone loading. But more on that in
 the final release when things settle down. 
 So I've downloaded 1.4.0-beta and will play with it ASAP (which unfortunately will
not be until next week at the earliest, due to travel). However, looking at the docs:
 ---
 Generate signing keys
 You have to use ISC (Bind) tools to generate the keys. Create one KSK (key signing key)
and one ZSK (zone signing key) for zone 
example.com:
 $ mkdir -p /var/lib/knot/keys
 $ cd /var/lib/knot/keys
 $ dnssec-keygen -3 -f KSK 
example.com
 $ dnssec-keygen -3 
example.com
 ---
 I'd like to make the following observation:
 I'm ok with using dnssec-keygen, that's fine. However I'm not fine with all
the darn K* files that dnssec-keygen throws around. I hate the K* files with a passion,
because they are left-overs of our early attempts at figuring out DNSSEC more than fifteen
years ago. I'd like to think that we've learnt a thing or two since then.
 One of the things that OpenDNSSEC got very, very right was the decision to only go with
an HSM for key storage. I care less about the security aspect (although that's
important in many cases), I care about the storage abstraction.
 I.e. my first suggestion would be to use "softhsm" for key storage, but that
implies using the PKCS#11 API, which requires some work, and a fair amount of additional
code. Therefore my second suggestion is to just add a wrapper around dnssec-keygen and
stuff the resulting keys into an sqlite database (or similar). I.e. I would argue that
hiding the actual key generator behind a simplistic CLI tool for generating, listing,
deleting, etc, keys that are stored in a DB somewhere would be a major improvement to
inheriting the utterly broken interface to the K* files that BIND9 uses.
 No, I don't want to look inside all the K* files to be able to figure out which key
is only published, which is active and which is retired. Nor do I want to delete old and
retired keys with the Unix "rm" command, and high probability of erasing the
wrong file. I want to be able to do something like
 # keymgr generate --zone 
bar.com --type zsk
 Key 68686 (ZSK) for zone "bar.com" generated.
 # keymgr list --zone 
foo.com
 KeyID  Type   State      Next state transition
 23456  ZSK    published  2013-11-15 12:45:23
 12345  ZSK    active     ...
 45678  KSK    published  ...
 34567  KSK    active     ...
 56789  KSK    retired    ...
 # keymgr delete --zone 
foo.com --state retired
 or something similar.
 In a way this is basically me singing the same song I heard Miek sing a couple of days
ago, regarding key management as a separate thing (separate both from the nameserver but
also from the signer).
 Regards,
 Johan
 PS. I've had this discussion with the good folks at ISC several times and one
response I got (a couple of years ago) was that the K* files were very useful for
debugging. I don't know about you, but where I am DNSSEC is no longer in the
"debugging phase", it's in the "deployment phase". That has the
implication that the "user interface" should be designed for actually *USING*
DNSSEC, not for debugging it. Exposing K* files to users for debugging convenience is just
plain wrong. Hide the stuff out of sight, please.
 _______________________________________________
 knot-dns-users mailing list
 knot-dns-users(a)lists.nic.cz
 
https://lists.nic.cz/cgi-bin/mailman/listinfo/knot-dns-users