mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 22:02:44 +00:00 
			
		
		
		
	 e6d9bb0774
			
		
	
	
		e6d9bb0774
		
	
	
	
	
		
			
			This allows the decoder to fail gracefully when reading a partial or malformed TBSCertificate. We also now ensure that the certificate data is valid before making a copy of it.
		
			
				
	
	
		
			15 lines
		
	
	
	
		
			452 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
	
		
			452 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2023, Tim Ledbetter  <timledbetter@gmail.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibTLS/Certificate.h>
 | |
| #include <LibTest/TestCase.h>
 | |
| 
 | |
| TEST_CASE(certificate_with_malformed_tbscertificate_should_fail_gracefully)
 | |
| {
 | |
|     Array<u8, 4> invalid_certificate_data { 0xB0, 0x02, 0x70, 0x00 };
 | |
|     auto parse_result = TLS::Certificate::parse_certificate(invalid_certificate_data);
 | |
|     EXPECT(parse_result.is_error());
 | |
| }
 |