From 8112ceb1d2ffab755b83dc7ed65840a5c88fbcee Mon Sep 17 00:00:00 2001 From: me_desk Date: Tue, 10 Jul 2012 21:54:34 +0000 Subject: continuing registrar... git-svn-id: svn://localhost/project_picapica/trunk@143 fb96df88-216d-11de-830c-f3023f12d8ac --- pica-registrar/PICA_registrar.cpp | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'pica-registrar/PICA_registrar.cpp') diff --git a/pica-registrar/PICA_registrar.cpp b/pica-registrar/PICA_registrar.cpp index 9ffba7b..c9ec901 100644 --- a/pica-registrar/PICA_registrar.cpp +++ b/pica-registrar/PICA_registrar.cpp @@ -11,14 +11,22 @@ #include #include +#include #include using namespace std; #define PICA_REGISTRAR_PORT 2299 #define READ_BUF_SIZE 4096 +#define WRITE_BUF_SIZE 8192 + char read_buf[READ_BUF_SIZE]; +char write_buf[WRITE_BUF_SIZE]; + + +unsigned int current_id = 30 000; + int main(int argc, char *argv[]) { int socket, client_socket, ret, pos, disconnect_flag; @@ -67,7 +75,7 @@ while (1) continue; { - FILE *csr_temp; + FILE *csr_temp, *cert; std::string filename = (string("/tmp/CSR-") + inet_ntoa(sc.sin_addr) ); @@ -91,7 +99,27 @@ while (1) fclose(csr_temp); - //system(openssl ca) + std::string cert_filename = atoi(current_id) + ".pem"; + + std::string sign_command = "openssl ca -config ca_config.txt -utf8 -subj /CN=" + atoi(current_id) + "\\#tester -batch -notext -out " + cert_filename + " -in " + csr_temp; + + puts(sign_command.c_str);//debug + + system(sign_command.c_str); + + cert = fopen(cert_filename, "r"); + + if (!cert) + { + perror("fopen"); + remove(filename.c_str); + remove(cert_filename); + continue; + } + + //send + + current_id++; remove(filename.c_str); } -- cgit v1.2.1