One of the worst things I've ever dealt with in Java is SSL. Easily. There's a lot I like about the language otherwise, but dealing with SSL is always a nightmare, nothing does it simply or cleanly, the keytools are bizarrely unintuitive, and configuring anything is incredibly verbose
