Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any way for me to create my own certificate pair? I don't see why I would need a trusted CA for email purposes. I'd rather a cert than using GPG or something of the like.

share|improve this question
It's kinda involved: You have to add IIS to your machine, etc. Probably easier to use GPG. But if you really want to: – Mark Allen Jun 30 '12 at 3:48
up vote 2 down vote accepted

A self-signed key pair? A certificate pair? You'd rather use a cert than GPG?

The way you've asked your question indicates that you have a muddled understanding of how public/private key pairs and certificates relate to each other.

  • You generally doesn't sign (at least not self-sign) keys, you sign certs.
  • Keys come in pairs, certs don't.
  • Having a cert that's self-signed sorta defeats the advantage that certs have over uncertified key pairs.

Allow me to explain. If you want to use a public/private key pair with email, it usually means you have one or both of these primary goals:

  1. You want to be able to sign some or all of your emails with your private key, so your correspondents can verify that your emails truly came from you, and were not modified in transit.
  2. You want your correspondents to encrypt some or all emails for you with your public key, so that only you can read the contents of those emails.

That's fine, but there's one big problem. For this to work, you need your correspondents to be able to get your public key, and be sure it's truly your public key, not an impostor's.

One way to solve that problem would be for you to send your public key to each of your correspondents via a trusted medium, and have them install that public key in their email security software for use with messages to/from you. That could work, but it takes a lot of setup work on the part of both you and your correspondents, and that setup work has to be done ahead of time for each correspondent before they can email you securely.

To make it less hassle, it would be nice if there was a way to publish your public key in a way that any new potential email correspondent of yours can have their software automatically retrieve it and still be able to trust that it's yours.

There are two well known solutions to that problem of publishing keys in a trustworthy way: the PGP/GPG web of trust, and certificate-based public key infrastructure (PKI).

In the GPG web of trust, you publish your public key on the GPG web of trust system, and have other people you know vouch or its authenticity by marking your key as trusted (by signing it with their own private keys). Then when someone wants to email you securely, they can retrieve your public key from the web of trust system, see who's vouched for it, decided if they want to trust it, and if so, use it to encrypt messages they're sending to you.

In cert-based PKI, you have a well-known CA vouch for the authenticity of your public key by bundling your public key with some identifying information about you, and then signing that bundle. That signed bundle of your identity information plus your public key is your certificate. You can publish that certificate far and wide and even attach it to your emails, and your correspondents, if they trust that CA, can accept the CA's word that this certificate shows the true public key for the person listed in the cert.

So, if you create a self-signed cert, you're creating something that's no more trustworthy than a bare public key, because no one but you is vouching for it. Not your friends (GPG web of trust) nor a well-trusted public agency (CA). You and your correspondents would be taking it upon yourselves to make sure that your public key is truly your public key.

So if you're defeating the purpose of a cert by self-signing, why even bother?

share|improve this answer
I mostly had a firm understanding of all that, but I was confused as to why a public CA needed to vouch for my public key if only my private key worked with it anyhow. But I think I see the point in that somebody else can make a fake public/private key listed in my name and intercept messages aimed at me, and I wouldn't be able to read them. I wanted to do it merely as a way to test things and see if it suits my needs, since I don't have money to buy a trusted cert, and PGP/GPG seems like too much work (plus there are compatibility issues with various email programs) – agent154 Jun 30 '12 at 20:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .