summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-07-26 16:45:00 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-08-04 09:38:27 +0200
commitec6ea4e696bf3222b76645433c3de8a67ce645bf (patch)
tree6ba83cadb2d723b15e2f7ab74a69f77f1c261cef /src
parent4267ef871db68c3981e44b8581d77894a2173b54 (diff)
downloadgnutls-ec6ea4e696bf3222b76645433c3de8a67ce645bf.tar.gz
certtool: sign_params_to_flags: use strtok to parse input
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/certtool.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/certtool.c b/src/certtool.c
index 906ab9f500..4e4f3277f3 100644
--- a/src/certtool.c
+++ b/src/certtool.c
@@ -1115,13 +1115,28 @@ static void update_signed_certificate(common_info_st * cinfo)
static
void sign_params_to_flags(common_info_st *cinfo, const char *params)
{
- if (strcasecmp(params, "rsa-pss") == 0) {
- cinfo->rsa_pss_sign = 1;
- return;
+ char *p, *sp;
+
+ sp = strdup(params);
+ if (sp == NULL) {
+ fprintf(stderr, "memory error\n");
+ app_exit(1);
+ }
+
+ p = strtok(sp, ",");
+
+ while(p != NULL) {
+ if (strcasecmp(p, "rsa-pss")==0) {
+ cinfo->rsa_pss_sign = 1;
+ } else {
+ fprintf(stderr, "Unknown signature parameter: %s\n", p);
+ app_exit(1);
+ }
+
+ p=strtok(NULL, ",");
}
- fprintf(stderr, "Unknown signature parameters: %s\n", params);
- app_exit(1);
+ free(sp);
}
static void figure_key_type(const char *key_type)