Как к связанному cn в ssl сертификате pyOpenSSL verify_cb к сгенерированному сокету

Это должно быть:

$when(((tdata.Age == "" ) & (tdata.Survived == "0")), mean_age_0)
5
задан 18 September 2008 в 20:24
поделиться

1 ответ

После того, как квитирование завершено, можно получить клиентский сертификат. В то время как клиентский сертификат также доступен в проверить обратном вызове (verify_cb), нет действительно никакой причины попытаться сделать, что-либо кроме проверяет сертификат в том обратном вызове. Установка специализированного отображения лучше сделана после того, как квитирование имеет полностью успешно. Так, рассмотрите использование экземпляра OpenSSL.SSL.Connection, возвращенного принять методом, чтобы получить сертификат (и оттуда, commonName) и связать его с объектом соединения в той точке. Например,

client, clientAddress = self.server.accept()
client.do_handshake()
commonNamesToConnections[client.get_peer_certificate().commonName] = client

Вы могли бы хотеть проверить отображение, чтобы удостовериться, что Вы не перезаписываете существующего соединения (возможно, использующий список соединений вместо того, чтобы просто отобразить каждое общее название на одно). И конечно необходимо удалить записи, когда соединения потеряны.

Вызов 'do_handshake' вынуждает квитирование на самом деле произойти. Без этого произойдет квитирование, когда данные приложения будут сначала переданы по соединению. Это прекрасно, но это установило бы настройку это немного более сложное отображение.

5
ответ дан 14 December 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: