src/lib/BasicASN1Reader.h
branchv_0
changeset 20 fac034e3e867
parent 19 b7431bc6069b
child 21 705036445672
equal deleted inserted replaced
19:b7431bc6069b 20:fac034e3e867
   155 		} else if (typeHeader.tag == 2 && typeHeader.tagClass == TagClass::Universal && typeHeader.definiteLength) {
   155 		} else if (typeHeader.tag == 2 && typeHeader.tagClass == TagClass::Universal && typeHeader.definiteLength) {
   156 			// TODO: check available bytes before allocating buffer
   156 			// TODO: check available bytes before allocating buffer
   157 			std::vector<uint8_t> value(typeHeader.length, 0x00);
   157 			std::vector<uint8_t> value(typeHeader.length, 0x00);
   158 			read(value.data(), typeHeader.length);
   158 			read(value.data(), typeHeader.length);
   159 			handlers.writeInteger(ASN1ContentHandler::Integer(value));
   159 			handlers.writeInteger(ASN1ContentHandler::Integer(value));
       
   160 		} else if (typeHeader.tag == 6 && typeHeader.tagClass == TagClass::Universal && typeHeader.definiteLength) {
       
   161 			std::vector<uint8_t> value(typeHeader.length, 0x00);
       
   162 			read(value.data(), typeHeader.length);
       
   163 			handlers.writeOID({value});
   160 		} else if (typeHeader.tag == 12 && typeHeader.tagClass == TagClass::Universal && typeHeader.definiteLength) {
   164 		} else if (typeHeader.tag == 12 && typeHeader.tagClass == TagClass::Universal && typeHeader.definiteLength) {
   161 			// TODO: check available bytes before allocating buffer
   165 			// TODO: check available bytes before allocating buffer
   162 			std::string s;
   166 			std::string s;
   163 			s.resize(typeHeader.length);
   167 			s.resize(typeHeader.length);
   164 			read((uint8_t*) s.data(), typeHeader.length);
   168 			read((uint8_t*) s.data(), typeHeader.length);