Can you provide some context as to why we need to make all these x509 functions external?

BaseCryptLib was intended to simplify crypto usage and not be a full featured crypto library interface.

At some point we might as well just open up the openssl export table and wrap that in a dynamically generated protocol/ppi.

If this is intended to make an Edk2 crypto library api that is implementation agnostic but full featured then maybe you could do as Tls did which was create your own usage specific API/wrapper. Then CryptoPkg API surface will increase but it doesn't have to all be in one monolithic library.


Thanks

Sean




On 10/10/2022 4:32 AM, Qi Zhang wrote:
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4082

This patch serial is to add more CryptoX509 functions.

Tested by:
1. https://github.com/tianocore/edk2-staging/tree/DeviceSecurity.
2. Unit test: CryptoPkg/Test/UnitTest/Library/BaseCryptLib/X509Tests.c

Review PR: https://github.com/tianocore/edk2/pull/3380.

V2 change: rename X509SetDateTime() to X509FormatDateTime().

Cc: Jiewen Yao <jiewen....@intel.com>
Cc: Jian J Wang <jian.j.w...@intel.com>
Cc: Xiaoyu Lu <xiaoyu1...@intel.com>
Cc: Guomin Jiang <guomin.ji...@intel.com>
Signed-off-by: Qi Zhang <qi1.zh...@intel.com>

Qi Zhang (4):
   CryptoPkg: add new X509 function definition.
   CryptoPkg: add new X509 function.
   CryptoPkg: add new X509 function to Crypto Service.
   CryptoPkg: add Unit Test for X509 new function.

  CryptoPkg/Driver/Crypto.c                     |  432 ++++++-
  CryptoPkg/Include/Library/BaseCryptLib.h      |  374 ++++++
  .../Pcd/PcdCryptoServiceFamilyEnable.h        |   34 +-
  CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 1036 +++++++++++++++++
  .../Library/BaseCryptLib/Pk/CryptX509Null.c   |  429 +++++++
  .../BaseCryptLibNull/Pk/CryptX509Null.c       |  429 +++++++
  .../BaseCryptLibOnProtocolPpi/CryptLib.c      |  415 +++++++
  CryptoPkg/Private/Protocol/Crypto.h           |  390 +++++++
  .../BaseCryptLib/BaseCryptLibUnitTests.c      |    1 +
  .../Library/BaseCryptLib/TestBaseCryptLib.h   |    4 +
  .../BaseCryptLib/TestBaseCryptLibHost.inf     |    1 +
  .../BaseCryptLib/TestBaseCryptLibShell.inf    |    1 +
  .../UnitTest/Library/BaseCryptLib/X509Tests.c |  631 ++++++++++
  13 files changed, 4166 insertions(+), 11 deletions(-)
  create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/X509Tests.c



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94952): https://edk2.groups.io/g/devel/message/94952
Mute This Topic: https://groups.io/mt/94234101/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to