These series patches are used to support HTTPS boot feature.

HttpDxe driver will consume TlsDxe driver. It can both support 
HTTP and HTTPS feature, it’s depended on the information in URL, 
the HTTP instance can be able to determine whether to use HTTP
or HTTPS. 

It should be noted that current HttpDxe only support server 
authentication with an unauthenticated client mode. That means 
only server is authenticated by client. Client won’t be 
authenticated by server. It's normally called as one-way 
authentication. To support this mode, CA certificate is 
required by Client. Currently, private variable is used to 
configure this CA certificate. The variable name is called 
'TlsCaCertificate'. The corresponding GUID is {0xfd2340D0, 
\ 0x3dab, 0x4349, {0xa6, 0xc7, 0x3b, 0x4f, 0x12, 0xb4, 0x8e, 0xae}}. 
In sum, the CA certificate must be configured first to enable 
HTTPS boot feature.

TlsDxe driver takes advantage of OpenSLL library, including 
BaseCryptLib and new wrapped TlsLib, And also, OpensslTlsLib 
module is required to enable 'openssl\ssl' function.

Cc: Ye Ting <[email protected]>
Cc: Fu Siyuan <[email protected]>
Cc: Long Qin <[email protected]>
Cc: Ruiyu Ni <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <[email protected]>

Jiaxin Wu (6):
  MdePkg: Add TLS related protocol definition
  CryptoPkg: Add OpensslTlsLib module to enable 'openssl\ssl'
  CryptoPkg: Add new TlsLib library
  NetworkPkg: TlsDxe driver implementation over OpenSSL
  NetworkPkg: HTTPS support over IPv4 and IPv6
  Nt32Pkg: Enable Nt32Pkg platform HTTPS boot feature.

 CryptoPkg/CryptoPkg.dec                            |    6 +-
 CryptoPkg/CryptoPkg.dsc                            |    2 +
 CryptoPkg/Include/Library/TlsLib.h                 |  802 +++++++++
 CryptoPkg/Include/OpenSslSupport.h                 |   11 +-
 .../Library/BaseCryptLib/SysCall/CrtWrapper.c      |    5 +
 .../Library/BaseCryptLib/SysCall/TimerWrapper.c    |   29 +-
 .../Library/OpensslLib/EDKII_openssl-1.0.2f.patch  |    9 +
 CryptoPkg/Library/OpensslLib/Install.cmd           |    1 +
 CryptoPkg/Library/OpensslLib/Install.sh            |    1 +
 CryptoPkg/Library/OpensslLib/OpensslLib.inf        |    2 +-
 CryptoPkg/Library/OpensslLib/OpensslTlsLib.inf     |  110 ++
 CryptoPkg/Library/OpensslLib/OpensslTlsLib.uni     |  Bin 0 -> 1792 bytes
 CryptoPkg/Library/TlsLib/TlsLib.c                  | 1772 ++++++++++++++++++++
 CryptoPkg/Library/TlsLib/TlsLib.inf                |   46 +
 CryptoPkg/Library/TlsLib/TlsLib.uni                |   19 +
 MdePkg/Include/Protocol/Tls.h                      |  460 +++++
 MdePkg/Include/Protocol/TlsConfig.h                |  132 ++
 MdePkg/MdePkg.dec                                  |    9 +
 NetworkPkg/HttpDxe/HttpDriver.h                    |    7 +-
 NetworkPkg/HttpDxe/HttpDxe.inf                     |    8 +-
 NetworkPkg/HttpDxe/HttpImpl.c                      |  188 ++-
 NetworkPkg/HttpDxe/HttpProto.c                     |  395 +++--
 NetworkPkg/HttpDxe/HttpProto.h                     |   65 +-
 NetworkPkg/HttpDxe/HttpsSupport.c                  | 1680 +++++++++++++++++++
 NetworkPkg/HttpDxe/HttpsSupport.h                  |  314 ++++
 NetworkPkg/NetworkPkg.dsc                          |    3 +
 NetworkPkg/TlsDxe/TlsConfigProtocol.c              |  152 ++
 NetworkPkg/TlsDxe/TlsDriver.c                      |  499 ++++++
 NetworkPkg/TlsDxe/TlsDriver.h                      |  237 +++
 NetworkPkg/TlsDxe/TlsDxe.inf                       |   67 +
 NetworkPkg/TlsDxe/TlsDxe.uni                       |   25 +
 NetworkPkg/TlsDxe/TlsDxeExtra.uni                  |   20 +
 NetworkPkg/TlsDxe/TlsImpl.c                        |  280 ++++
 NetworkPkg/TlsDxe/TlsImpl.h                        |  342 ++++
 NetworkPkg/TlsDxe/TlsProtocol.c                    |  627 +++++++
 Nt32Pkg/Nt32Pkg.dsc                                |    8 +-
 Nt32Pkg/Nt32Pkg.fdf                                |    7 +-
 37 files changed, 8186 insertions(+), 154 deletions(-)
 create mode 100644 CryptoPkg/Include/Library/TlsLib.h
 create mode 100644 CryptoPkg/Library/OpensslLib/OpensslTlsLib.inf
 create mode 100644 CryptoPkg/Library/OpensslLib/OpensslTlsLib.uni
 create mode 100644 CryptoPkg/Library/TlsLib/TlsLib.c
 create mode 100644 CryptoPkg/Library/TlsLib/TlsLib.inf
 create mode 100644 CryptoPkg/Library/TlsLib/TlsLib.uni
 create mode 100644 MdePkg/Include/Protocol/Tls.h
 create mode 100644 MdePkg/Include/Protocol/TlsConfig.h
 create mode 100644 NetworkPkg/HttpDxe/HttpsSupport.c
 create mode 100644 NetworkPkg/HttpDxe/HttpsSupport.h
 create mode 100644 NetworkPkg/TlsDxe/TlsConfigProtocol.c
 create mode 100644 NetworkPkg/TlsDxe/TlsDriver.c
 create mode 100644 NetworkPkg/TlsDxe/TlsDriver.h
 create mode 100644 NetworkPkg/TlsDxe/TlsDxe.inf
 create mode 100644 NetworkPkg/TlsDxe/TlsDxe.uni
 create mode 100644 NetworkPkg/TlsDxe/TlsDxeExtra.uni
 create mode 100644 NetworkPkg/TlsDxe/TlsImpl.c
 create mode 100644 NetworkPkg/TlsDxe/TlsImpl.h
 create mode 100644 NetworkPkg/TlsDxe/TlsProtocol.c

-- 
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to