verify parameter enumeration functions
authorDr. Stephen Henson <steve@openssl.org>
Thu, 25 Feb 2010 00:08:23 +0000 (00:08 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 25 Feb 2010 00:08:23 +0000 (00:08 +0000)
crypto/x509/x509_vfy.h
crypto/x509/x509_vpm.c

index fe09b30aaa62dff07d2735de0ae4596a7974a530..5a8276deadc8070bf19642e0a3b6bef2790c6c7f 100644 (file)
@@ -527,8 +527,11 @@ int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param,
 int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, 
                                        STACK_OF(ASN1_OBJECT) *policies);
 int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param);
+const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param);
 
 int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param);
+int X509_VERIFY_PARAM_get_count(void);
+const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id);
 const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name);
 void X509_VERIFY_PARAM_table_cleanup(void);
 
index dfd89d89faf0e885b2dca37ed1edcc11248c3aa0..9e7d99666155df80cf5e1a6def27aeedfbc0d1a9 100644 (file)
@@ -311,6 +311,11 @@ int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param)
        return param->depth;
        }
 
+const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param)
+       {
+       return param->name;
+       }
+
 /* Default verify parameters: these are used for various
  * applications and can be overridden by the user specified table.
  * NB: the 'name' field *must* be in alphabetical order because it
@@ -413,6 +418,22 @@ int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param)
        return 1;
        }
 
+int X509_VERIFY_PARAM_get_count(void)
+       {
+       int num = sizeof(default_table)/sizeof(X509_VERIFY_PARAM);
+       if (param_table)
+               num += sk_X509_VERIFY_PARAM_num(param_table);
+       return num;
+       }
+
+const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id)
+       {
+       int num = sizeof(default_table)/sizeof(X509_VERIFY_PARAM);
+       if (id < num)
+               return default_table + id;
+       return sk_X509_VERIFY_PARAM_value(param_table, id - num);
+       }
+
 const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name)
        {
        int idx;