anchor.diff:      case Connection#apns_connection.cert of
         undefined -> [];
         Cert -> [{cert, Cert}]
  +    end ++
  +    case Connection#apns_connection.cert_password of
  +      undefined -> [];
  +      Password -> [{password, Password}]
       end,
  -  SslOpts = [
  -    {mode, binary} | Opts
  -  ],
  -  RealSslOpts = case Connection#apns_connection.cert_password of
  -    undefined -> SslOpts;
  -    Password -> [{password, Password} | SslOpts]
  -  end,
  +  [{mode, binary} | Opts].
  +
  +%% @hidden
  +open_out(Connection) ->
     case ssl:connect(
       Connection#apns_connection.apple_host,
       Connection#apns_connection.apple_port,
  -    RealSslOpts,
  +    ssl_opts(Connection),
       Connection#apns_connection.timeout
     ) of
       {ok, OutSocket} -> {ok, OutSocket};
  
positive.code:   end.
  
  %% @hidden
  open_out(Connection) ->
    Opts = case Connection#apns_connection.key_file of
      undefined -> [];
      KeyFile -> [{keyfile, filename:absname(KeyFile)}]
  
negative.code: 
  %% @hidden
  open_feedback(Connection) ->
    case ssl:connect(
      Connection#apns_connection.feedback_host,
      Connection#apns_connection.feedback_port,
      ssl_opts(Connection),
      Connection#apns_connection.timeout
    ) of
      {ok, InSocket} -> {ok, InSocket};
  