This is a great document that explains public key infrastructure, X.509 and certificates, and the problems with existing methods.