public ApnsServerSocketBuilder withCert(InputStream stream, String password)
			throws InvalidSSLConfig {
		assertPasswordNotEmpty(password);
		return withSSLContext(new SSLContextBuilder()
				.withAlgorithm(KEY_ALGORITHM)
				.withCertificateKeyStore(stream, password, KEYSTORE_TYPE)
				.withDefaultTrustKeyStore()
				.build());
	}
Specify the certificate used to connect to Apple APNS servers. This
relies on the stream of keystore (*.p12) containing the certificate,
along with the given password.

The keystore needs to be of PKCS12 and the keystore needs to be encrypted
using the SunX509 algorithm. Both of these settings are the default.

This library does not support password-less p12 certificates, due to a
Oracle Java library <a
href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6415637"> Bug
6415637</a>. There are three workarounds: use a password-protected
certificate, use a different boot Java SDK implementation, or construct
the `SSLContext` yourself! Needless to say, the password-protected
certificate is most recommended option.

@param stream
           the keystore represented as input stream
@param password
           the password of the keystore
@return this
@throws InvalidSSLConfig
            if stream is invalid Keystore or the password is invalid
src/test/java/com/notnoop/apns/ApnsServerSocketBuilder.java