SSL: Signed Certificate

SSL - Signed Certificate

 

The certificate is identical to the certificate request with the addition of the certificate authority’s signature.  The is composed of the endpoint’s distinguished name,  public key and signature. The distinguished name contains details about the certificate bearer including country, state or province, locality, details about the entity the certificate represents, and often an email to contact if there are problems. The public key is needed later to allow the SSL handshake to be performed securely. The signature is generated by digesting the entire certificate and encrypting the digest with the certificate authority’s public key.  The signature ensures the certificate has not been modified since signing and that it was actually signed by the certificate authority.  Thus, certificates provide a measure of trust when signed by a legitimate certificate authority.

 

SSL: Certificate Request

SSL - Certificate RequestThe certificate request is composed of the endpoint’s distinguished name and public key. The distinguished name contains details about the certificate bearer including country, state or province, locality, details about the entity the certificate represents, and often an email to contact if there are problems. The public key is needed later in the signed certificate to allow the SSL handshake to be performed securely.

 

SSL – Certificate Authority

SSL - Certificate AuthorityCertificate subject (client or server) sends a certificate request to the certificate authority to get a certificate issued. The certificate authority thoroughly verifies information included in the certificate request.  Once the certificate authority has done it’s due diligence it will digest and sign the the certificate request with the certificate authority’s private key to create a signed certificate.  Finally, the certificate authority issues the signed certificate to the certificate subject.  Any machine or organization may be a certificate authority and issue certificates.  Every machine has a collection of trusted certificates, these trusted certificates allow the machine to trust any and every machine issued a certificate by the certificate authority that owns the trusted certificate.  Trusting a certificate should be done with great care – trusting a bad certificate authority can completely undermine the security of your system and network.  Some well-known and widely trusted certificate authorities include Verisign and DigiCert. In summary, getting a certificate issued is much like getting a driver’s license: You fill out the certificate request (application) with relevant information, the certificate authority (DMV) verifies your identity and issues a signed certificate (driver’s license) that proves your identity to others and is extremely difficult to counterfeit perfectly.