Ejemplo n.º 1
0
int main(int count, char *strings[])
{   SSL_CTX *ctx;
    int server;
    char *portnum;

    if ( count != 2 )
    {
        printf("Usage: %s <portnum>\n", strings[0]);
        exit(0);
    }

    SSL_library_init();

    portnum = strings[1];

    ctx = InitServerCTX();        /* initialize SSL */

    LoadCertificates(ctx, "cert.pem", "key.pem"); /* load certs */

    server = OpenListener(atoi(portnum));    /* create server socket */

    while (1)
    {   struct sockaddr_in addr;
        socklen_t len = sizeof(addr);
        SSL *ssl;

        int client = accept(server, (struct sockaddr*)&addr, &len);  /* accept connection as usual */
        printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
        ssl = SSL_new(ctx);              /* get new SSL state with context */
        SSL_set_fd(ssl, client);      /* set connection socket to SSL state */
        Servlet(ssl);         /* service connection */
    }
    close(server);          /* close server socket */
    SSL_CTX_free(ctx);         /* release context */
}
Ejemplo n.º 2
0
int main(int argc, char *argv[])
{
    remove("bankecents.txt");
    SSL_CTX *ctx;
    int server;
    const char * localport;
    const char * localhost;
 
    if ( argc < 2 ){
        printf("Usage:server localhost localport \n");
        exit(0);
    }
    SSL_library_init();
    localhost = argv[1];
    localport = argv[2];
    ctx = InitServerCTX();        /* initialize SSL */
    LoadCertificates(ctx, "mycert2.pem", "mycert2.pem"); /* load certs */
    server = OpenListener(localhost, localport);    /* create server socket */
    while (1)
    {   struct sockaddr_in addr;
        socklen_t len = sizeof(addr);
        SSL *ssl;
 
        int client = accept(server, (struct sockaddr*)&addr, &len);  /* accept connection as usual */
        printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
        ssl = SSL_new(ctx);              /* get new SSL state with context */
        SSL_set_fd(ssl, client);      /* set connection socket to SSL state */
        Servlet(ssl);         /* service connection */
    }
    close(server);          /* close server socket */
    SSL_CTX_free(ctx);         /* release context */
}
Ejemplo n.º 3
0
void *main_server(void* unused)
{
  SSL_CTX *ctx;

  ctx = InitServerCTX();/* initialize SSL */
  LoadCertificates(ctx, "ca.crt", "ca.pem");/* load certs */
  SSL_CTX_set_cipher_list(ctx, "ECDH-ECDSA-AES128-GCM-SHA256");

  int server = OpenListener(port);/* create server socket */
  while (1)
    {
      struct sockaddr_in addr;
      unsigned int len = sizeof(addr);
      SSL *ssl;

      int client = accept(server, (struct sockaddr*) &addr, &len);/* accept connection as usual */

      ssl = SSL_new(ctx);         /* get new SSL state with context */
      SSL_set_fd(ssl, client);/* set connection socket to SSL state */
      Servlet(client, ssl);/* service connection */
    }
  close(server);/* close server socket */
  SSL_CTX_free(ctx);/* release context */

  return NULL;
}
Ejemplo n.º 4
0
int main(int count, char *strings[])
{   SSL_CTX *ctx;
    int server;
    char *portnum;
 
    if(!isRoot())
    {
        printf("This program must be run as root/sudo user!!\n");
        exit(0);
    }
    if ( count != 2 )
    {
        printf("Usage: %s <portnum>\n", strings[0]);
        exit(0);
    }
    SSL_library_init();
 
    portnum = strings[1];
    ctx = InitServerCTX();        /* initialize SSL */
    
	//checking if cert and key are availble or not.
	FILE *f,*g;
	f = fopen("/home/shagun/ca/certs/server.cert.pem","r");
	if(f==NULL)
	{
		printf("Certificate doesn't exist. Aborting now.\n");
		exit(0);	
	}
	fclose(f);	
	
	g = fopen("/home/shagun/ca/private/server.key.pem","r");
	if(g==NULL)
	{
		printf("Key doesn't exist. Aborting now.\n");
		exit(0);	
	}
	fclose(g);    

    LoadCertificates(ctx, "/home/shagun/ca/certs/server.cert.pem", "/home/shagun/ca/private/server.key.pem"); /* load certs */
    server = OpenListener(atoi(portnum));    /* create server socket */
    while (1)
    {   struct sockaddr_in addr;
        socklen_t len = sizeof(addr);
        SSL *ssl;
 
        int client = accept(server, (struct sockaddr*)&addr, &len);  /* accept connection as usual */
        printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
        ssl = SSL_new(ctx);              /* get new SSL state with context */
        SSL_set_fd(ssl, client);      /* set connection socket to SSL state */
	Servlet(ssl);         /* service connection */
    }
    close(server);          /* close server socket */
    SSL_CTX_free(ctx);         /* release context */
}
Ejemplo n.º 5
0
int main(int count, char *strings[])
{   SSL_CTX *ctx;
    int server;
    char *portnum;
    char buf[1024];
    char reply[1024];
    int recvlen = 0;
	struct sockaddr_in remaddr;     /* remote address */
        socklen_t addrlen = sizeof(remaddr);

    if(!isRoot())
    {
        printf("This program must be run as root/sudo user!!");
        exit(0);
    }
    if ( count != 2 )
    {
        printf("Usage: %s <portnum>\n", strings[0]);
        exit(0);
    }
    SSL_library_init();
 
    portnum = strings[1];
    ctx = InitServerCTX();        /* initialize SSL */
    char cert[] = "mycert.pem";
    LoadCertificates(ctx, cert, cert); /* load certs */
    server = OpenListener(atoi(portnum));    /* create server socket */
    while (1)
    {   struct sockaddr_in addr;
        socklen_t len = sizeof(addr);
        SSL *ssl;
        recvlen = 0;
        //int client = accept(server, (struct sockaddr*)&addr, &len);  /* accept connection as usual */
        
        while(recvlen == 0) recvlen = recvfrom(server, buf, 1024, 0, (struct sockaddr *)&remaddr, &addrlen);

        printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
        ssl = SSL_new(ctx);              /* get new SSL state with context */
        SSL_set_fd(ssl, server);      /* set connection socket to SSL state */
        Servlet(ssl);         /* service connection */
    }
    close(server);          /* close server socket */
    SSL_CTX_free(ctx);         /* release context */
}
Ejemplo n.º 6
0
/*--------------------------------------------------------------------*/
int main(int count, char *strings[])
{   int sd;

    if ( count != 3 )
    {
        printf("Usage: %s <port> <min-servlets>", strings[0]);
        exit(0);
	}
    bzero(&act, sizeof(act));
    act.sa_handler = sig_handler;
    act.sa_flags = SA_NOCLDSTOP;
    if ( sigaction(SIGCHLD, &act, 0) != 0 )
        PANIC("sigaction() failed");
    sd = socket(PF_INET, SOCK_STREAM, 0);
    if ( sd < 0 )
        PANIC("socket() failed");
    bzero(&addr, sizeof(addr));
    addr.sin_family = AF_INET;
    addr.sin_port = htons(atoi(strings[1]));
    addr.sin_addr.s_addr = INADDR_ANY;
    if ( bind(sd, (struct sockaddr*)&addr, sizeof(addr)) != 0 )
        PANIC("bind() failed");
    if ( listen(sd, 20) != 0 )
        PANIC("listen() failed");
    for (;;)
    {
        if ( ServletCnt >= DEF_SERVLETS )
            Timeout = DEF_TIMEOUT;
        if ( ServletCnt < ServletMax )
        {   int pid;

            fprintf(stderr, "New servlet\n");
            if ( (pid = fork()) == 0 )
                Servlet(sd, Timeout);
            else if ( pid > 0 )
                ServletCnt++;
            else
                perror("fork() failed");
        }
        else
            sleep(CHECK_DELAY);
    }
    return 0;
}
void PeerConnectionListener::run(int portNum){
    SSL_CTX *ctx;
    int server;

    SSL_library_init();
    ctx = InitServerCTX();        /* initialize SSL */
    LoadCertificates(ctx, "cert.pem", "key.pem"); /* load certs */
    server = OpenListener(portNum);    /* create server socket */
    while(1){
        struct sockaddr_in addr;
        socklen_t len = sizeof(addr);
        SSL *ssl;
        qDebug() << "listening";
        int client = accept(server, (struct sockaddr*)&addr, &len);  /* accept connection as usual */
        printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
        ssl = SSL_new(ctx);              /* get new SSL state with context */
        SSL_set_fd(ssl, client);      /* set connection socket to SSL state */
        Servlet(ssl);         /* service connection */
    }
    close(server);          /* close server socket */
    qDebug() << "server socket closed";
    SSL_CTX_free(ctx);         /* release context */
    qDebug() << "context freed";
}
int main(int count, char *strings[])
{   SSL_CTX *ctx;
    int server,err;
    char *portnum;
    char *msg = "sagar";
 	printf("1");
 
    if(!isRoot())
    {
        printf("This program must be run as root/sudo user!!");
        exit(0);
    }
    if ( count != 2 )
    {
        printf("Usage: %s <portnum>\n", strings[0]);
        exit(0);
    }
     	printf("12");
    SSL_library_init();
 
 
    portnum = strings[1];
    ctx = InitServerCTX();        /* initialize SSL */
    LoadCertificates(ctx, "mycert.pem", "mycert.pem"); /* load certs */
    server = OpenListener(atoi(portnum));    /* create server socket */
    while (1)
    {   struct sockaddr_in addr;
        socklen_t len = sizeof(addr);
        SSL *ssl,*ssl1;
 
        int client = accept(server, (struct sockaddr*)&addr, &len);  /* accept connection as usual */
        printf("Connection: %s:%d\n",inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
        ssl = SSL_new(ctx);              /* get new SSL state with context */
        SSL_set_fd(ssl, client);      /* set connection socket to SSL state */
        
        
        Servlet(ssl);
        
       //  ssl1 = SSL_new(ctx);              /* get new SSL state with context */
        //SSL_set_fd(ssl1, client);      /* set connection socket to SSL state */
        // err=SSL_write(ssl1,msg,strlen(msg));
         //RETURN_SSL(err);
        
        
       // Servlet(ssl1);
       
         //tostring(a,p);
         //printf("%s %d\n",a,p);
         //printf("%s",has1);
      
       //
       //hash(p);
       
       
      
         
       
       
        
         	printf("22");         /* service connection */
    }
    close(server);          /* close server socket */
    SSL_CTX_free(ctx);         /* release context */
}