So how secure are these certificates, you ask. AIM security is based on S/MIME, which is a relatively new standard, but is itself based on pretty established techniques and is gaining broad acceptance. So barring any implementation flaws (unintentional or not) in AIM or the certificate generation process, messages should be secure enough for most any AIM user. At any rate, it would almost certainly be easier to break into your house and install monitoring equipment, or infect your computer with a worm or trojan that phones home, than to bother mounting a direct attack. However, this also underscores the fact that cryptography is not a security panacea; there are lots of easier alternatives to cracking codes and protocols, and you need to be aware of them too.
The short of it is that your steamy exchanges, inane prattlings, or even treasonous plottings are possibly being read by someone or something out there. There are lots of people who really couldn't care less about this, and those people certainly won't feel any need for encryption. But for those who do...
Note that I've only tried the certificates from Thawte, though the ones from Comodo should work fine too. The sign-up process can be a bit annoying, but that's the price you pay.
This is definitely the option I recommend, not least of all because you won't get any annoying "untrusted certificate" warnings, like you would for the other options I'll mention below (just for the sake of completeness).
$ ./CA.pl -newca CA certificate filename (or enter to create) Making CA certificate ... Generating a 2048 bit RSA private key .................................+++ ................................................................+++ writing new private key to './demoCA/private/cakey.pem' Enter PEM pass phrase:1234 Verifying - Enter PEM pass phrase:1234 ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:. State or Province Name (full name) [Some-State]:. Locality Name (eg, city) []:. Organization Name (eg, company) [Internet Widgits Pty Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, YOUR name) []:YourSN Email Address []:. $ ./CA.pl -newreq Generating a 2048 bit RSA private key .....................................................................+++ ..........+++ writing new private key to 'newreq.pem' Enter PEM pass phrase:1234 Verifying - Enter PEM pass phrase:1234 ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:. State or Province Name (full name) [Some-State]:. Locality Name (eg, city) []:. Organization Name (eg, company) [Internet Widgits Pty Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, YOUR name) []:YourSN Email Address []:. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:. An optional company name []:. Request (and private key) is in newreq.pem $ ./CA.pl -sign Using configuration from /opt/local/packages/openssl-0.9.7c/ssl/openssl.cnf Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: 1 (0x1) Validity Not Before: Dec 25 11:10:56 2003 GMT Not After : Dec 24 11:10:56 2004 GMT Subject: commonName = YourSN X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: EB:A1:29:7C:AE:82:99:F1:03:A0:53:F6:5D:66:37:05:77:B3:CB:A8 X509v3 Authority Key Identifier: keyid:92:1E:FF:93:92:BF:3B:FA:65:EC:7A:32:2B:46:04:4E:CE:61:27:FD DirName:/CN=YourSN serial:00 Certificate is to be certified until Dec 24 11:10:56 2004 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Signed certificate is in newcert.pem $ openssl pkcs12 -in newcert.pem -inkey newreq.pem -out newcert.p12 \ -export -certfile demoCA/cacert.pem -name "YourSN" Enter pass phrase for newreq.pem:1234 Enter Export Password:1234 Verifying - Enter Export Password:1234Here, newcert.p12 will be the certificate you import into AIM.