There is a post here How can I install a certificate into the local machine store programmatically using c#? about how to add to a store.
But there's no option for setting high level security (requesting a password each time a certificate is used). How to do that ?