aboutsummaryrefslogtreecommitdiffstats
path: root/src/asn1
diff options
context:
space:
mode:
authorlloyd <[email protected]>2012-05-27 16:51:00 +0000
committerlloyd <[email protected]>2012-05-27 16:51:00 +0000
commit0beeb8caab674b173902b3a44952240d34710d30 (patch)
tree64d95e58bbd3b16b5fb6d3768ccfd4829f6731f9 /src/asn1
parent446d572d4984fa1f62001a0db7ac65b1201cbf45 (diff)
Derive X509_Object from ASN1_Object.
In the path validator, pass singlular Certificate_Store args as const reference and const_cast them. It's not ideal but it seems to lead to the cleanest external API. Treat all v1 X.509 certs as implicit CAs.
Diffstat (limited to 'src/asn1')
-rw-r--r--src/asn1/ber_dec.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/asn1/ber_dec.h b/src/asn1/ber_dec.h
index 6ca9aa777..3aa141550 100644
--- a/src/asn1/ber_dec.h
+++ b/src/asn1/ber_dec.h
@@ -95,7 +95,8 @@ class BOTAN_DLL BER_Decoder
template<typename T>
BER_Decoder& decode_list(std::vector<T>& out,
- bool clear_out = true);
+ ASN1_Tag type_tag = SEQUENCE,
+ ASN1_Tag class_tag = UNIVERSAL);
template<typename T>
BER_Decoder& decode_and_check(const T& expected,
@@ -171,12 +172,11 @@ BER_Decoder& BER_Decoder::decode_optional(T& out,
* Decode a list of homogenously typed values
*/
template<typename T>
-BER_Decoder& BER_Decoder::decode_list(std::vector<T>& vec, bool clear_it)
+BER_Decoder& BER_Decoder::decode_list(std::vector<T>& vec,
+ ASN1_Tag type_tag,
+ ASN1_Tag class_tag)
{
- if(clear_it)
- vec.clear();
-
- BER_Decoder list = start_cons(SEQUENCE);
+ BER_Decoder list = start_cons(type_tag, class_tag);
while(list.more_items())
{