RapidSSL 256 bitlik sertifikanın kurulu olduğu Windows 2012 R2 sunucusundaki sunucum SMTP'ye bağlanmaya çalışıyorum. SMTP sunucusunun, sertifikayla ilgili problemi olan müşterilerimizden birine e-posta gönderip gönderemediğini test etmem gerekiyor. Sertifikamın yeni SHA256 şifrelemesini destekleyemediğini söylediler ancak bu yanlış. Başlattığım komut bu:
openssl s_client -starttls smtp -connect www.omniservice2.it:25 -crlf
ve şunu anlıyorum:
CONNECTED(00000003)
depth=1 /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/CN=www.omniservice2.it
i:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
1 s:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
---
Server certificate
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/CN=www.omniservice2.it
issuer=/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
---
No client certificate CA names sent
---
SSL handshake has read 3697 bytes and written 363 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: ...
Session-ID-ctx:
Master-Key: ...
Key-Arg : None
Start Time: 1487243991
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
250 OK
Sonra gidiyorum:
HELO
AUTH LOGIN
ve base64'te kodlanmış kullanıcı adını / şifreyi giriyorum. Kimlik bilgileri doğrudur ve normal Windows kimlik doğrulama kullanıcı adı / şifresidir ve SMTP sunucusuna erişmek için tüm .NET uygulamalarımız tarafından doğru bir şekilde kullanılırlar. Bu nedenle, base64'te kodlanmış kimlik bilgileri kesinlikle doğrudur, ancak bunları girdikten sonra, YAPILAN uyarılmam istenir ve bağlantı kapatılır ve kabuk geri döner. Ne anlama geliyor?
İşte emirlerimin sırası:
>HELO
250 www.omniservice2.it Hello [37.159.171.6]
>AUTH LOGIN
>334 VNXlcm5hbWU6
(my Windows username encoded in base64)
>334 UGFzc3dvcmQ6
(my Windows password encoded in base 64)
>DONE
>prompt returned here
Eğer HELO'dan sonra bir STARTTLSkomut gönderirseniz , bana zaten başlatılmış bir TLS Oturumu olduğunu söyler. Dediğim gibi, bu SMTP sunucusuna doğrudan bağlanmam ve test etmem gerekiyor ve bu müşteriye neden e-posta gönderemediğini keşfediyorum. Sertifikamda ne yanlış olabilir?
GÜNCELLEŞTİRME
İşte hem telnet hem de openssl kullanarak PLAIN kimlik doğrulama modunda denediklerim:
telnet www.omniservice2.it 25
Trying 94.177.162.33...
Connected to www.omniservice2.it.
Escape character is '^]'.
220 www.omniservice2.it Microsoft ESMTP MAIL Service, Version: 8.5.9600.16384 ready at Thu, 16 Feb 2017 16:28:00 +0100
EHLO www.omniservice2.it
250-www.omniservice2.it Hello [37.159.171.6]
250-TURN
250-SIZE 4194304
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-TLS
250-STARTTLS
250 OK
STARTTLS
220 2.0.0 SMTP server ready
AUTH PLAIN
Connection closed by foreign host.
MacBook-Pro-di-lorenzo:~ lory$ openssl s_client -starttls smtp -connect www.omniservice2.it:25 -crlf
CONNECTED(00000003)
depth=1 /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/CN=www.omniservice2.it
i:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
1 s:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
---
Server certificate
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/CN=www.omniservice2.it
issuer=/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
---
No client certificate CA names sent
---
SSL handshake has read 3697 bytes and written 363 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: B61C00007D21763C94DBF1394AEC1B84768F4DAED89FC3BEC2E74A0321090A71
Session-ID-ctx:
Master-Key: 829BFD1853358B1471837EDEAD068905D9652E7A33121BF6186BBC971F20DB5FBEC0658464DAC6040DD5FD9ACB3BA4AA
Key-Arg : None
Start Time: 1487258920
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
250 OK
AUTH PLAIN
504 5.7.4 Unrecognized authentication type
LOGINuygulanmasında bir hata olabilir .PLAINBunun yerine standardı kullanmayı denediniz mi?