Beispiel #1
0
    s = SRP_server(NISTprime, 2, 3, '*****@*****.**', 'abc')  #新建服务端

    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    server.bind(("127.0.0.1", 9001))
    server.setblocking(False)
    server.listen(1)

    while 1:
        accept, [], [] = select([server], [], [], 60)  #利用select接收数据

        if server in accept:
            conn, addr = server.accept()  #获取链接套接字和链接地址

            if os.fork() == 0:
                data = conn.recv(4096)
                I, A = data.split(",")  #得到邮箱和  客户端发来的公钥A
                s.recv1(I, int(A))  #调用recv1产生b  和 salt  最终生成服务器公钥B
                salt, B = s.send1()  #发送B
                conn.send(str(salt) + "," + str(B))  #发送B
                data = conn.recv(4096)  #再接收数据
                status = s.recv2(data)  #调用recv2获取是否成功
                conn.send(status)  #发送是否成功
                sys.exit()  # killing the child

        # 清理子程序
        try:
            os.waitpid(0, os.WNOHANG)
        except OSError:
            pass
  s = SRP_server(NISTprime,2,3,'*****@*****.**','abc')

  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  server.bind(("127.0.0.1", 9001))
  server.setblocking(False)
  server.listen(1)

  while 1:
    accept,[],[] = select([server],[],[],60)

    if server in accept:
      conn,addr = server.accept()

      if os.fork() == 0:
        data = conn.recv(4096)
        I,A = data.split(",")
        s.recv1(I,int(A))
        salt,B = s.send1()
        conn.send(str(salt)+","+str(B))
        data = conn.recv(4096)
        status = s.recv2(data)
        conn.send(status)
        sys.exit() # killing the child

    # cleaning old children
    try:
      os.waitpid(0,os.WNOHANG)
    except OSError:
        pass
Beispiel #3
0
    s = SRP_server(NISTprime, 2, 3, "*****@*****.**", "abc")  # 新建服务端

    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    server.bind(("127.0.0.1", 9001))
    server.setblocking(False)
    server.listen(1)

    while 1:
        accept, [], [] = select([server], [], [], 60)  # 利用select接收数据

        if server in accept:
            conn, addr = server.accept()  # 获取链接套接字和链接地址

            if os.fork() == 0:
                data = conn.recv(4096)
                I, A = data.split(",")  # 得到邮箱和  客户端发来的公钥A
                s.recv1(I, int(A))  # 调用recv1产生b  和 salt  最终生成服务器公钥B
                salt, B = s.send1()  # 发送B
                conn.send(str(salt) + "," + str(B))  # 发送B
                data = conn.recv(4096)  # 再接收数据
                status = s.recv2(data)  # 调用recv2获取是否成功
                conn.send(status)  # 发送是否成功
                sys.exit()  # killing the child

        # 清理子程序
        try:
            os.waitpid(0, os.WNOHANG)
        except OSError:
            pass