diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2010-02-25 00:08:23 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2010-02-25 00:08:23 +0000 |
commit | 9b3d75706ef0114362f04665a3c745bfef59d023 (patch) | |
tree | d88818096996f88cd315deb52b4a8ac096fdceb8 /crypto/x509 | |
parent | b1efb7161f409c81178b9aa95583db3390f90b1b (diff) | |
download | openssl-9b3d75706ef0114362f04665a3c745bfef59d023.tar.gz |
verify parameter enumeration functions
Diffstat (limited to 'crypto/x509')
-rw-r--r-- | crypto/x509/x509_vfy.h | 3 | ||||
-rw-r--r-- | crypto/x509/x509_vpm.c | 21 |
2 files changed, 24 insertions, 0 deletions
diff --git a/crypto/x509/x509_vfy.h b/crypto/x509/x509_vfy.h index fe09b30aaa..5a8276dead 100644 --- a/crypto/x509/x509_vfy.h +++ b/crypto/x509/x509_vfy.h @@ -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); diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c index dfd89d89fa..9e7d996661 100644 --- a/crypto/x509/x509_vpm.c +++ b/crypto/x509/x509_vpm.c @@ -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; |