root/python/TLSLite/srp/server.py

リビジョン 27, 0.9 kB (コミッタ: nakiki, コミット時期: 2 年 前)

--

  • svn:executable 属性の設定値: *
Line 
1 #!/usr/bin/python
2
3 import socket
4 import SocketServer as ss
5 import tlslite.api as tls
6
7 verifierDB = tls.VerifierDB()
8 verifierDB.create()
9 verifierDB['tako'] = tls.VerifierDB.makeVerifier('tako', 'ikaika', 1024)
10
11 class Handler(ss.StreamRequestHandler):
12   def setup(self):
13     self.connection = tls.TLSConnection(self.request)
14     self.connection.closeSocket = True
15     self.connection.handshakeServer(verifierDB=verifierDB)
16     self.rfile = self.connection.makefile('rb', self.rbufsize)
17     self.wfile = self.connection.makefile('wb', self.wbufsize)
18
19   def handle(self):
20     print 'handle'
21     while 1:
22       line = self.rfile.readline()
23       if len(line) == 0:
24         return
25       self.wfile.write(line)
26
27 class Server(ss.ThreadingTCPServer):
28   allow_reuse_address = 1
29   daemon_threads = 1
30
31 server = Server(('localhost', 3745), Handler)
32 print 'listening:', server.socket.getsockname()
33 server.serve_forever()
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。