DSA * isns_dsa_load_params(const char *filename) { FILE *fp; DSA *dsa; if (!filename) { isns_error("Cannot generate key - no DSA parameter file\n"); return NULL; } if (!(fp = fopen(filename, "r"))) { isns_error("Unable to open %s: %m\n", filename); return NULL; } dsa = PEM_read_DSAparams(fp, NULL, NULL, NULL); fclose(fp); if (dsa == NULL) { isns_dsasig_report_errors("Error loading DSA parameters", isns_error); } return dsa; }
inline dsa_key dsa_key::from_parameters(file _file, pem_passphrase_callback_type callback, void* callback_arg) { return take_ownership(PEM_read_DSAparams(_file.raw(), NULL, callback, callback_arg)); }