It would be good to add some testing around the subclasses, to make sure they don't step on eachother's <code>tmp_dir</code> as explained before.  Also, any other possible problems, like un-restored system configs and such it's good to test for also (when possible).  Finally, the cert/key generating code would be good to unittest, esp. since the output should be relatively easy to verify,  Just some suggestions for more complete unittesting.