You should exclude iMessage from the end of this article as it suffers from a similar issue to Chadder in that the Apple key server has control over which public keys are send to a users client for a given communication, leaving them free to add their own public key to any message (for which...