Estou executando um serviço IMAPS e os usuários são autenticados com um certificado X.509. Funciona bem com o Thunderbird. Mas como posso me conectar ao serviço IMAPS manualmente usando o openssl? Eu uso o mesmo certificado do openssl s_clientque no Thunderbird, mas não sou autenticado.

$ openssl s_client -connect $myimapsserver:993 -key my.key -cert my.crt -quiet 
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = $myimapsserver
verify return:1
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN ACL ACL2=UNION AUTH=EXTERNAL ENABLE UTF8=ACCEPT] Courier-IMAP ready. Copyright 1998-2019 Double Precision, Inc.  See COPYING for distribution information.
answer

A autenticação é possível com o seguinte comando IMAP

1 AUTHENTICATE EXTERNAL bWljaGE=

E então os servidores IMAP responderam com

1 OK LOGIN Ok.

O parâmetro é o nome de usuário codificado em base64, que também deve estar no certificado X.509 do cliente usado.

Novo contribuidor
Micha is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.