aka: digital certificate, identity certificate, or just certificate.
The primary purpose of a certificate is to authenticate the identity of the owner of the certificate to other parties involved in electronic transactions.
Such owners include persons, services and devices.
Ceritificate owners are also referred to as subjects.
The information («fields») typically found in a certificate includes:
Identifiying information such as eMail address, name etc.
The time period (valid from, valid to) during which the certificate is valid.
Information about the certificate's issuer, including the issuer's digital signature.
A certificate must be issued and signed by a certfication authority (CA).
The main advantage for public key certificates is that a party that needs to authenticate someone does not have to keep a list of passwords but rather explicitly trusts one certificate authority and implicitly trusts that the certificate authority has performed the necessary identity verifications.
A certificate (like a public key) is public, there is no need to secure it.
A standard that defines the format of public key certificates is X.509.
Types of certificates
Types of certificates include:
Certificate type
Purpose
Secure Multipurpose Internet Mail Extensions (S/MIME)
signing email messages.
Secure Sockets Layer (SSL) and Internet Protocol security (IPSec) digital certificates
authenticating network connections.
Smart cards
logging on to PCs
Self signed certificate
A certificate that is signed by its own private key (and whose subject is equal to the issuer?) is a self signed certificate.
Such certificates can be trusted (only) because of arrangements that were made in the physical world (for example inclusion on a trusted root list).
Root certificates are self signed.
Misc: Under the root directory of an MS Office installation is the the SELFCERT.EXE executable which allows to create a self-signed digital certificate.
Displaying the content of a certificate
OpenSSL
The content of a certificate can be displayed, for example, on the command line with the openssl executable:
PS C:\> cd cert:
PS Cert:\> get-childItem | select-object location
Location
--------
CurrentUser
LocalMachine
p
PS Cert:\> cd LocalMachine
… etc. etc. …
.NET namespace
The .NET namespace System.Security.Cryptography.X509Certificates contains the Common Language Runtime implementation of the Authenticode X.509 v.3 certificate.
The PowerShell providerCertificate allows to access the namespace's classes X509Certificate2 and X509Store.