In TlsConfigCertificate(), make sure that the set of EFI_SIGNATURE_LIST objects that the platform stored to "TlsCaCertificate" is well-formed. In addition, because HttpInstance->TlsConfiguration->SetData() expects X509 certificates only, ensure that the EFI_SIGNATURE_LIST objects only report X509 certificates, as described under EFI_CERT_X509_GUID in the UEFI-2.7 spec. Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Siyuan Fu <siyuan.fu@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=909 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
		
			
				
	
	
		
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| #  Implementation of EFI HTTP protocol interfaces.
 | |
| #
 | |
| #  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
 | |
| #
 | |
| #  This program and the accompanying materials
 | |
| #  are licensed and made available under the terms and conditions of the BSD License
 | |
| #  which accompanies this distribution. The full text of the license may be found at
 | |
| #  http://opensource.org/licenses/bsd-license.php.
 | |
| #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| #
 | |
| #
 | |
| ##
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION               = 0x00010005
 | |
|   BASE_NAME                 = HttpDxe
 | |
|   FILE_GUID                 = 2366c20f-e15a-11e3-8bf1-e4115b28bc50
 | |
|   MODULE_TYPE               = UEFI_DRIVER
 | |
|   VERSION_STRING            = 1.0
 | |
|   ENTRY_POINT               = HttpDxeDriverEntryPoint
 | |
|   UNLOAD_IMAGE              = NetLibDefaultUnload
 | |
|   MODULE_UNI_FILE           = HttpDxe.uni
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   MdeModulePkg/MdeModulePkg.dec
 | |
|   NetworkPkg/NetworkPkg.dec
 | |
| 
 | |
| [Sources]
 | |
|   ComponentName.h
 | |
|   ComponentName.c
 | |
|   HttpDns.h
 | |
|   HttpDns.c
 | |
|   HttpDriver.h
 | |
|   HttpDriver.c
 | |
|   HttpImpl.h
 | |
|   HttpImpl.c
 | |
|   HttpProto.h
 | |
|   HttpProto.c
 | |
|   HttpsSupport.h
 | |
|   HttpsSupport.c
 | |
| 
 | |
| [LibraryClasses]
 | |
|   UefiDriverEntryPoint
 | |
|   UefiBootServicesTableLib
 | |
|   UefiRuntimeServicesTableLib
 | |
|   MemoryAllocationLib
 | |
|   BaseLib
 | |
|   UefiLib
 | |
|   DebugLib
 | |
|   NetLib
 | |
|   HttpLib
 | |
|   DpcLib
 | |
| 
 | |
| [Protocols]
 | |
|   gEfiHttpServiceBindingProtocolGuid               ## BY_START
 | |
|   gEfiHttpProtocolGuid                             ## BY_START
 | |
|   gEfiHttpUtilitiesProtocolGuid                    ## CONSUMES
 | |
|   gEfiTcp4ServiceBindingProtocolGuid               ## TO_START
 | |
|   gEfiTcp4ProtocolGuid                             ## TO_START
 | |
|   gEfiTcp6ServiceBindingProtocolGuid               ## TO_START
 | |
|   gEfiTcp6ProtocolGuid                             ## TO_START
 | |
|   gEfiDns4ServiceBindingProtocolGuid               ## SOMETIMES_CONSUMES
 | |
|   gEfiDns4ProtocolGuid                             ## SOMETIMES_CONSUMES
 | |
|   gEfiDns6ServiceBindingProtocolGuid               ## SOMETIMES_CONSUMES
 | |
|   gEfiDns6ProtocolGuid                             ## SOMETIMES_CONSUMES
 | |
|   gEfiIp4Config2ProtocolGuid                       ## SOMETIMES_CONSUMES
 | |
|   gEfiIp6ConfigProtocolGuid                        ## SOMETIMES_CONSUMES
 | |
|   gEfiTlsServiceBindingProtocolGuid                ## SOMETIMES_CONSUMES
 | |
|   gEfiTlsProtocolGuid                              ## SOMETIMES_CONSUMES
 | |
|   gEfiTlsConfigurationProtocolGuid                 ## SOMETIMES_CONSUMES
 | |
| 
 | |
| [Guids]
 | |
|   gEfiTlsCaCertificateGuid                         ## SOMETIMES_CONSUMES  ## Variable:L"TlsCaCertificate"
 | |
|   gEdkiiHttpTlsCipherListGuid                      ## SOMETIMES_CONSUMES  ## Variable:L"HttpTlsCipherList"
 | |
|   gEfiCertX509Guid                                 ## SOMETIMES_CONSUMES  ## GUID  # Check the cert type
 | |
| 
 | |
| [Pcd]
 | |
|   gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections       ## CONSUMES  
 | |
| 
 | |
| [UserExtensions.TianoCore."ExtraFiles"]
 | |
|   HttpDxeExtra.uni
 |