public ApnsServiceBuilder 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 constract
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/main/java/com/notnoop/apns/ApnsServiceBuilder.java