[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

OpenSSL: клиентский сертификат не проходит проверку



Добрый вечер всем!

Требуется реализовать передачу данных серверу уведомлений Apple, который работает на gateway.sandbox.push.apple.com:2195. Выдали мне сертификат с ключом, в файле Certificate_and_key.pem. Пытаюсь установить соединение:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -CAfile EntrustCA.pem -cert Certificate_and_key.pem

Сертификаты сервера уведомлений проверяются нормально (все CA для этого в EntrustCA.pem), но дальше он выдает это:

140735074831484:error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown:s3_pkt.c:1193:SSL alert number 46
140735074831484:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184:

Все что я нагуглил про alert 46, это "что-то не так с сертификатом клиента". Возможно как-нибудь получить более подробную информацию о такой ошибке?
Еще хотелось бы узнать, каким образом при удостоверении клиента во время SSL-хендшейка используется его закрытый ключ? Буду очень признателен, если кто-нибудь ткнет меня в инфу, где это рассказывается :)

Еще вывод следующей информации, если она может быть полезной. Про расширения X509v3 прочел только накануне ночью, пока не понял, могут ли они иметь к этому отношение, но на всякий случай:

$ openssl verify -CAfile AppleCA.pem Certificate_and_key.pem 
 . . .
error 34 at 0 depth lookup:unhandled critical extension
OK

$ openssl x509 -in Certificate_and_key.pem -text -noout -purpose

все расширения, которые обозначены "critical":

        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Extended Key Usage: critical
                Code Signing
            X509v3 Key Usage: critical
                Digital Signature
 . . .
Certificate purposes:
SSL client : No
SSL client CA : No
SSL server : No
SSL server CA : No
Netscape SSL server : No
Netscape SSL server CA : No
S/MIME signing : No
S/MIME signing CA : No
S/MIME encryption : No
S/MIME encryption CA : No
CRL signing : No
CRL signing CA : No
Any Purpose : Yes
Any Purpose CA : Yes
OCSP helper : Yes
OCSP helper CA : No
Time Stamp signing : No
Time Stamp signing CA : No

Может, дело в "SSL client : No" ?

Буду очень благодарен за любую помощь!

Тимур.

Reply to: