Testing SSL/TLS Implementations for Strength and Vulnerabilities