LibraryLink ToToggle FramesPrintFeedback

What are X.509 Certificates?

An X.509 certificate binds a name to a public key value. The role of the certificate is to associate a public key with the identity contained in the X.509 certificate.

Authentication of a secure application depends on the integrity of the public key value in the application’s certificate. If an impostor replaced the public key with its own public key, it could impersonate the true application and gain access to secure data.

To prevent this form of attack, all certificates must be signed by a certification authority (CA). A CA is a trusted node that confirms the integrity of the public key value in a certificate.

A CA signs a certificate by adding its digital signature to the certificate. A digital signature is a message encoded with the CA’s private key. The CA’s public key is made available to applications by distributing a certificate for the CA. Applications verify that certificates are validly signed by decoding the CA’s digital signature with the CA’s public key.

[Warning]Warning

The demonstration certificates supplied with FUSE Services Framework are signed by the demonstration CA. This CA is completely insecure because anyone can access its private key. To secure your system, you must create new certificates signed by a trusted CA. This chapter describes the set of certificates required by a FUSE Services Framework application and shows you how to replace the default certificates.

An X.509 certificate contains information about the certificate subject and the certificate issuer (the CA that issued the certificate). A certificate is encoded in Abstract Syntax Notation One (ASN.1), a standard syntax for describing messages that can be sent or received on a network.

The role of a certificate is to associate an identity with a public key value. In more detail, a certificate includes:

  • X.509 version information.

  • A serial number that uniquely identifies the certificate.

  • A subject DN that identifies the certificate owner.

  • The public key associated with the subject.

  • An issuer DN that identifies the CA that issued the certificate.

  • The digital signature of the issuer.

  • Information about the algorithm used to sign the certificate.

  • Some optional X.509 v.3 extensions. For example, an extension exists that distinguishes between CA certificates and end-entity certificates.

A distinguished name (DN) is a general purpose X.500 identifier that is often used in the context of security.

See Appendix A for more details about DNs.