I think a dedicated device (e.g. smartcard or USB dongle) is a better option. I know they've had their problems, but personal computers get owned all the time, since they're simply too exposed.
The part I liked about the system in Slovenia isn't so much the particulars of where or how the certificate is stored, but about how it's issued. Since the bit I was answering was "But how do you map a key to a person"