We tried using X.509 certificates in Denmark for proving your identity to the state.
It was a complete nightmare unless you understood what public key crypto is, how it works, and how to configure your browser for it.
Don't get me started about having to move your certificate/keys around.
It doesn't work for the masses.