src/lib/BasicASN1Reader.h
branchv_0
changeset 33 13aa7280ac7b
parent 32 00d76921c547
child 34 c15dc8762bdb
equal deleted inserted replaced
32:00d76921c547 33:13aa7280ac7b
    21 #include <array>
    21 #include <array>
    22 #include <sstream>
    22 #include <sstream>
    23 #include <regex>
    23 #include <regex>
    24 
    24 
    25 #include "ASN1Reader.h"
    25 #include "ASN1Reader.h"
       
    26 #include "ValidatingASN1ContentHandler.h"
    26 
    27 
    27 namespace relpipe {
    28 namespace relpipe {
    28 namespace in {
    29 namespace in {
    29 namespace asn1 {
    30 namespace asn1 {
    30 namespace lib {
    31 namespace lib {
   282 		}
   283 		}
   283 	}
   284 	}
   284 
   285 
   285 	bool isValidBER(const std::string& input) {
   286 	bool isValidBER(const std::string& input) {
   286 		BasicASN1Reader encapsulatedReader;
   287 		BasicASN1Reader encapsulatedReader;
       
   288 		std::shared_ptr<ValidatingASN1ContentHandler> validatingHandler = std::make_shared<ValidatingASN1ContentHandler>();
       
   289 		encapsulatedReader.addHandler(validatingHandler);
   287 		try {
   290 		try {
   288 			encapsulatedReader.write((const uint8_t*) input.c_str(), input.size());
   291 			encapsulatedReader.write((const uint8_t*) input.c_str(), input.size());
   289 			encapsulatedReader.close();
   292 			encapsulatedReader.close();
   290 			return true;
   293 			return true;
   291 		} catch (...) {
   294 		} catch (...) {