Reads on Security (x509 certificates) RFC5280 Entities: Users Certificate authority Registration authority Repositories Repositories meant as collections of Certificates and Certificate Revocation Lists. Certificate VS Public Key The certificate binds the pub key to a subject, for a specific time interval, and gets signed by the certificate authority. Multiple certificates constitute the "identification path" finalized to the validation of a public key. Certificate Authority Certificates: Cross-certificates: define the trust relation between two certificate authorities. Self-issued cert: Issuer and signer is the same entity Self-signed cert: Issuer and signer is the same entity (Self-issued) + The contained pubkey can verify the signature. ROOT CERTS are Self-signed. Certificate Revocation List: On a public repo, signed by CA, contains serial numbers of the keys revoked by the CA. A recent CRL needs to be verified upon certificate validation. The design is somewhat flawed: in the time window between CRL updates, a revoked certificate is considered valid. Alternatives: Online Certificate Status Protocol (OCSR) Online Certificate Status Protocol (not part of RFC): Not implemented everywhere (e.g. certain browsers do not) Possible privacy issues (online check on need implies disclosure). Check wikipedia page for details. X509 format: In ASN-1 (a general purpose Type Length Value format) [ { certificate, -> { sig_algorithm, version, sig_value serial_no, }, signature, ... validity, ] subject_name, subject_pubkey }