def cert_check(conn,cert,errnum,depth,ok):
print 'Got cert',cert.get_subject()
return ok
Сервер:
ctx = SSL.context(SSL.TLSv1_METHOD)
ctx.set_verify(SSL.VERIFY_PEER,verify_cb)
ctx.use_private_key_file('server.key')
ctx.use_certificate_file('server.crt')
ctx.load_verify_locations('ca.crt')
Клиент:
ctx = SSL.context(SSL.TLSv1_METHOD)
ctx.set_verify(SSL.VERIFY_PEER,verify_cb)
ctx.use_private_key_file('client.key')
ctx.use_certificate_file('client.crt')
ctx.load_verify_locations('ca.crt')
Как получается, что на стороне клиента и сервера я получаю два сертификата. Один без общего имени и один с правильным именем = myownserver.com/myownclient.com
Все вышеупомянутые файлы имеют только один ключ / сертификат.
Кроме того, я предполагаю, что первым напечатанным сертификатом является ca.crt, потому что это единственный сертификат без общего имени. Но почему это случилось?