A strong, unique password (aka a secret) is the only thing that matters.
Certificates are nothing but long passwords that people can't remember and thus need to store in plaintext.
Encrypted certificates are nothing but long passwords that people can't remember and store in an encrypted form, thus requiring a separate password.
Encryption of a connection is done using a password. Whether you call it a password, a pre-shared key, or a certificate, it's all the same. It's a secret known only to the legitimate user.
The password is the be all, end all of networked computer security. There's a reason every single attempt to replace passwords has failed - either they reduce security or they're simply dressing up a password as something else - a smart card, an RSA clock, etc.
The problem is you don't realize what a password actually is in relation to security. It's simply the secret.
Retards who don't know what they're talking about like to prattle on about "something you are", "something you know", and "something you have".
"Something you are" is your username.
"Something you know" is your password.
"Something you have" is your cell phone or your little hardware token (nothing but an RSA clock with a seed stored on the device and on the server).
If your "something you are" is a secret username, or a hash of a fingerprint, then it merely becomes "something you know", and is effectively part of your password. If you authenticate remotely using a fingerprint scanner, the server you're authenticating into has NO IDEA whether or not the bits are coming from the fingerprint scanner or not, whether it has been tampered with or not, etc. It's all "something you know".
Similarly for "something you have", a text message code or an RSA clock or whatever else are all "something you know" when you're presenting them over the wire. Unless someone is PHYICALLY INSPECTING your shit, it's ALL "something you know", and thus all effectively pointless if you already have a strong, unique password.
People think that codes sent via text message or the seeds in their RSA clock keep them safe. They don't. If your host or connection is compromised to the point that you're leaking your password (such as a keylogger or a MITM attack), these codes are available to any attacker working in real time because you invariably send them over the same fucking channel. It's a joke!
The ONLY thing you can do to protect yourself with networked authentication is to know a secret and keep it secret. It should be astronomically expensive to crack. Use that secret to authenticate, encrypt, whatever. But adding more secrets on top of it doesn't do SHIT.
That secret is called a password. What you call it is irrelevant.