pyftpdlib с общей проверкой имен - PullRequest
0 голосов
/ 04 августа 2020

Я работал над использованием команды openssl getpeercert () для проверки сертификата клиентов на общее имя и, если возможно, с проверкой SAN. Ie проверка предметного поля. Намерение состоит в том, чтобы сделать аутентификацию без пароля с полной взаимной аутентификацией. Будет ли это поддерживать dummyAuthrizer? Проблема с авторизатором unix заключается в том, что идентификаторы unix основаны на AD. Поэтому лучше всего использовать только сертификат Auth и dummyauthrizer. Вот то, что я пытался, но соединение зависало без печати сертификата с клиентской стороны.

class MyHandler(FTPHandler):

def on_connect(self):
print "%s:%s connected" % 
(self.remote_ip, 
self.remote_port) Print(Self.socket.get_peer_certificate())
Print(self.get_repr_info())

Def main():
Context =ssl.SSLContext(ssl.protocol_tlsv1_2)


Context.load_verify_location(cafile) 


Context.Load_cert_chain(certfile,keyfile)


Handler = myhandler
Handler.certfile= certfile
Handler.keyfile=keyfile
Handler.ssl_protocol = SSL.TLSv1_2_METHOD    

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

Спасибо,

...