X509 reader and writer
