Add ctrl for alternative certificate store names.
authorDr. Stephen Henson <steve@openssl.org>
Sun, 1 Jun 2008 23:42:49 +0000 (23:42 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Sun, 1 Jun 2008 23:42:49 +0000 (23:42 +0000)
engines/e_capi.c

index f14a713..cfb9a38 100644 (file)
@@ -170,6 +170,7 @@ static int capi_ctx_set_provname_idx(CAPI_CTX *ctx, int idx);
 #define CAPI_CMD_LIST_CONTAINERS       (ENGINE_CMD_BASE + 9)
 #define CAPI_CMD_LIST_OPTIONS          (ENGINE_CMD_BASE + 10)
 #define CAPI_CMD_LOOKUP_METHOD         (ENGINE_CMD_BASE + 11)
+#define CAPI_CMD_STORE_NAME            (ENGINE_CMD_BASE + 12)
 
 static const ENGINE_CMD_DEFN capi_cmd_defns[] = {
        {CAPI_CMD_LIST_CERTS,
@@ -221,6 +222,10 @@ static const ENGINE_CMD_DEFN capi_cmd_defns[] = {
                "lookup_method",
                "Set key lookup method (1=substring, 2=friendlyname, 3=container name)",
                ENGINE_CMD_FLAG_NUMERIC},
+       {CAPI_CMD_STORE_NAME,
+               "store_name",
+               "certificate store name, default \"MY\"",
+               ENGINE_CMD_FLAG_STRING},
 
        {0, NULL, NULL, 0}
        };
@@ -259,6 +264,11 @@ static int capi_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void))
                ret = capi_list_containers(ctx, out);
                break;
 
+               case CAPI_CMD_STORE_NAME:
+               ctx->storename = BUF_strdup(p);
+               CAPI_trace(ctx, "Setting store name to %s\n", p);
+               break;
+
                case CAPI_CMD_DEBUG_LEVEL:
                ctx->debug_level = (int)i;
                CAPI_trace(ctx, "Setting debug level to %d\n", ctx->debug_level);