Keys readPrivKey(){ FILE* fp; Keys key; char name[100], in[100]; size_t size; printf("Name of private key file you would like to use(e.g. xxx_priv.txt): "); scanf("%s",name); myFlush(); if(fp = fopen(name, "r")){ fseek(fp,0,SEEK_END); size = ftell(fp); rewind(fp); size_t ret_code = fread(in, 1, size, fp); if(ret_code==size){ const char tok[2] = ";"; char* token = strtok(in, tok); key.n = atoi(token); token = strtok(NULL,tok); key.d = atoi(token); return key; }else{ printf("\nError reading file %s\n", name); readPrivKey(); } }else{ printf("\nError reading file %s\n", name); readPrivKey(); } }
/** * init module function * return value: -1: error * 0: else */ static int mod_init(void) { LM_INFO("initializing ...\n"); OpenSSL_add_all_algorithms(); ERR_load_crypto_strings(); if(!caList) { LM_ERR("caList not set\n"); return 0; } if(!privKey) { LM_ERR("modparam privKey not set\n"); return 0; } if(!authCert) { LM_ERR("param authCert not set\n"); return 0; } if(!verCert) { LM_ERR("verCert not set\n"); return 0; } if(useCrls && (!crlList)) { LM_ERR("useCrls=1 and crlList not set\n"); return 0; } if(!setAuthCertPeriod()) { LM_ERR("initialization failed\n"); return -1; } if(!readPrivKey()) { LM_ERR("initialization failed\n"); return -1; } if(!certUri) { LM_ERR("certUri not set\n"); return -1; } if(!initVerCertWithSlash()) { LM_ERR("initialization failed\n"); return -1; } if(!prepareCertValidation()) { LM_ERR("initialization failed\n"); return -1; } return 0; }