Serial reviewed-by: Ye Ting <[email protected]>

-----Original Message-----
From: Wu, Jiaxin 
Sent: Wednesday, February 24, 2016 4:15 PM
To: [email protected]
Cc: Ye, Ting <[email protected]>; Fu, Siyuan <[email protected]>; Long, Qin 
<[email protected]>; Ni, Ruiyu <[email protected]>
Subject: [Patch 0/6] HTTPS boot feature support

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