URL: https://security.stackexchange.com/questions/29425/difference-between-pfx-and-cert-certificates
There are two objects: the _private key_, which is what the server owns, keeps secret, and uses to receive new SSL connections; and the _public key_ which is mathematically linked to the private key, and made "public": it is sent to every client as part of the initial steps of the connection.
The [_certificate_](http://en.wikipedia.org/wiki/Public_key_certificate) is, nominally, a container for the public key. It includes the public key, the server name, some extra information about the server, and a signature computed by a _certification authority_ (CA). When the server sends its public key to a client, it actually sends its certificate, with a few other certificates (the certificate which contains the public key of the CA which signed its certificate, and the certificate for the CA which signed the CA's certificate, and so on). Certificates are intrinsically public objects.
Some people use the term "certificate" to designate both the certificate and the private key; this is a common source of confusion. I personally stick to the strict definition for which the certificate is the signed container for the public key only.
A `.pfx` file is a [PKCS#12 archive](http://en.wikipedia.org/wiki/PKCS_12): a bag which can contain a lot of objects with optional password protection; but, usually, a PKCS#12 archive contains a certificate (possibly with its assorted set of CA certificates) _and_ the corresponding private key.
On the other hand, a `.cert` (or `.cer` or `.crt`) file usually contains a single certificate, alone and without any wrapping (no private key, no password protection, just the certificate).