Come per la connessione IMAP utilizzando l’AUTENTICAZIONE NORMALE correttamente?

Sto usando OpenSSL per connettersi al server di posta.

POP3 funziona bene, ma ho problemi con IMAP. Basata sulla CAPACITÀ di comando, il server supporta la PIANURA, NTLM e GSS-API di metodi di autenticazione.

Voglio utilizzare solo perché è più facile che per altri.
Ho letto che è necessario per utilizzare <NUL>.

Ho eseguito la prossima variazioni, ma senza successo:

? login user pass
? login <nul>user<nul>pass
? <nul>login <nul>user<nul>pass

Che cosa sto facendo di sbagliato?

OriginaleL’autore Secret | 2011-08-25

3 risposte

  1. -1

    ? login [email protected] password\r\n

    spesso i server non richiedono ” @box.zona ” parte, si può semplicemente digitare login

    Conoscete o siete la stessa persona dell’OP? Voglio dire, è una risposta di 6 mesi con la vecchia questione, utilizzando elementi di risposte che non sono nemmeno discusso in questione, e non viene accettata entro 2 minuti… non so se è la risposta giusta, ma sembra solo per venire fuori dal nulla.
    Se il nome utente deve essere mymailbox o [email protected] puramente amministrativo/attuazione della decisione sul lato server. Tende ad essere utile per gli amministratori di server per rendere i loro nomi utente completa e-mail quando il server stesso è utilizzato per più domini.

    OriginaleL’autore

  2. 27

    Nessuna delle precedenti risposte effettivamente detto come per utilizzare l’autenticazione NORMALE, così ho fatto un po ‘ più a scavare. Si scopre che le informazioni di autenticazione è previsto in base64. È probabilmente più semplice di spiegare con un esempio. Assumere un nome utente di “bob” e di una password di “munchkin”.

    Dobbiamo per prima cosa la codifica in base64. Su Linux-ish di sistema, va piace questo:

    echo -en "\0bob\0munchkin" | base64
    

    Questo incorpora i caratteri null come richiesto, e anche la codifica base64. Noi abbiamo questa stringa: AGJvYgBtdW5jaGtpbg==.

    Ora, siamo in grado di eseguire l’autenticazione vera e propria (S = Server, C = Client):

    S: * OK The Microsoft Exchange IMAP4 service is ready.
    C: D0 CAPABILITY
    S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN CHILDREN IDLE NAMESPACE LITERAL+
    S: D0 OK CAPABILITY completed.
    C: D1 AUTHENTICATE PLAIN
    S: +
    C: AGJvYgBtdW5jaGtpbg==
    S: D1 OK AUTHENTICATE completed
    

    E il gioco è fatto!

    I riferimenti sono RFC 3501, 6.2.2. L’AUTENTICAZIONE di Comando per il Base64 requisito e RFC 2595 6. PIANURA SASL meccanismo per i componenti che ha bisogno di codifica.

    OriginaleL’autore lid

  3. 3
    May be this will help
    
    /* RFC 4616.2. PLAIN SASL Mechanism.                
    The mechanism consists of a single message, a string of [UTF-8]
    encoded [Unicode] characters, from the client to the server.  The
    client presents the authorization identity (identity to act as),
    followed by a NUL (U+0000) character, followed by the authentication
    identity (identity whose password will be used), followed by a NUL
    (U+0000) character, followed by the clear-text password.  As with
    other SASL mechanisms, the client does not provide an authorization
    identity when it wishes the server to derive an identity from the
    credentials and use that as the authorization identity.
    
    message = [authzid] UTF8NUL authcid UTF8NUL passwd
    
    Example:
    C: a002 AUTHENTICATE "PLAIN"
    S: + ""
    C: {21}
    C: <NUL>tim<NUL>tanstaaftanstaaf
    S: a002 OK "Authenticated"
    */
    
    
    IMAP not easy to code, literal string and xxx response formats ... .
    It's easier to use some free IMAP client.
    

    OriginaleL’autore Ivar

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *