<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/CryptoPkg/Test, branch dependabot/github_actions/actions/github-script-9</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-04-07T12:26:54+00:00</updated>
<entry>
<title>CryptoPkg: Add digest-based RSA-PSS sign and verify APIs</title>
<updated>2026-04-07T12:26:54+00:00</updated>
<author>
<name>Baraneedharan Anbazhagan</name>
<email>anbazhagan@hp.com</email>
</author>
<published>2026-03-17T12:19:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b3fdc0994db62b72a8b56ea25ffd024ab5e4e017'/>
<id>urn:sha1:b3fdc0994db62b72a8b56ea25ffd024ab5e4e017</id>
<content type='text'>
Add RsaPssSignDigest() and RsaPssVerifyDigest() to BaseCryptLib for
signing/verifying precomputed digests. Provide OpenSSL/MbedTLS/Null
implementations, expose via EDKII_CRYPTO_PROTOCOL (v24), and add PCD
controls for independent service enabling. Include unit tests.

Signed-off-by: Anbazhagan Baraneedharan &lt;anbazhagan@hp.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Added MockBaseCryptLib for google test</title>
<updated>2026-04-02T03:27:19+00:00</updated>
<author>
<name>PaddyDeng</name>
<email>paddydeng@ami.com</email>
</author>
<published>2026-02-23T08:28:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e9f03fca2859a821af277356eeb757a3efd1f1f7'/>
<id>urn:sha1:e9f03fca2859a821af277356eeb757a3efd1f1f7</id>
<content type='text'>
Added BaseCryptLib's mock library for google test so one can make google test
drives consuming it

Signed-off-by: Paddy Deng &lt;PaddyDeng@ami.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T17:33:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f42cae11c06187ef72f34cfabdca200346ef660'/>
<id>urn:sha1:0f42cae11c06187ef72f34cfabdca200346ef660</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Does not include updates to OpenSSL generated header files checked
into the repo. Those in `CryptoPkg\Library\OpensslLib\OpensslGen\`.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg/BaseCryptLibUnitTest: Separate MbedTls UnitTest Library.</title>
<updated>2025-11-24T13:10:50+00:00</updated>
<author>
<name>Longhaox Lee</name>
<email>longhaox.lee@intel.com</email>
</author>
<published>2025-11-24T06:16:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=51e2c18a53afe8f69465c331ed36a4e8c2ace5d0'/>
<id>urn:sha1:51e2c18a53afe8f69465c331ed36a4e8c2ace5d0</id>
<content type='text'>
Separate Unit test functions for MbedTls.

BaseCryptLibMbedTls does not support all Crypto services
So deprecate below function for MbedTls Unit test:

TestVerifyEKUsWith3CertsInSignature()
TestVerifyEKUsWith2CertsInSignature()
TestNoEKUsInSignature()
TestVerifyRsaCertPkcs1SignVerify
TestVerifyPkcs7SignVerifyNonSelfIssued()
TestVerifyDhGenerateKey()
Pkcs1v2Decrypt
Pkcs1v2EncryptDecrypt
RsaOaepEncrypt (Interface)
RsaOaepEncrypt (NoSeed)
RsaOaepEncrypt (Seeded)
RsaOaepDecrypt
RsaOaepEncryptDecrypt
RsaOaepEncryptPkcs1v2Decrypt
Pkcs1v2EncryptRsaOaepDecrypt
RsaOaepEncrypt (MdDefaultMgf1Default)
RsaOaepDecrypt (MdDefaultMgf1Default)
RsaOaepEncryptDecrypt (MdDefaultMgf1Default)
RsaOaepEncrypt (MdSha1Bgf1Sha1
RsaOaepDecrypt (MdSha1Bgf1Sha1)
RsaOaepEncryptDecrypt (MdSha1Bgf1Sha1)
RsaOaepEncrypt (MdSha256Bgf1Sha256)
RsaOaepDecrypt (MdSha256Bgf1Sha256)
RsaOaepEncryptDecrypt (MdSha256Bgf1Sha256)
TestVerifyBn()
TestVerifyEcKey()
TestPkcs7Attached()
TestPkcs7Detached()
TestVerifyPkcs7ContentData()

REF: https://github.com/tianocore/edk2/issues/11605
Signed-off-by: Longhaox Lee &lt;longhaox.lee@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Unit test for Pkcs7GetAttachedContent()</title>
<updated>2025-11-24T13:10:50+00:00</updated>
<author>
<name>Longhaox Lee</name>
<email>longhaox.lee@intel.com</email>
</author>
<published>2025-11-13T07:10:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3e55bab1a5647764f95780d9f8fde6e36a47b369'/>
<id>urn:sha1:3e55bab1a5647764f95780d9f8fde6e36a47b369</id>
<content type='text'>
MbebTls no support signature with content data.
test would be fail in below test case:
TestPkcs7Attached
TestPkcs7Detached
TestVerifyPkcs7ContentData

REF: https://github.com/tianocore/edk2/issues/11605
Signed-off-by: Longhaox Lee &lt;longhaox.lee@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: fix various typos</title>
<updated>2025-11-21T21:49:59+00:00</updated>
<author>
<name>Philipp Schuster</name>
<email>philipp.schuster@cyberus-technology.de</email>
</author>
<published>2025-11-04T07:25:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f7cba3671e79bcc5db849f6c65ab1b1aafeb2172'/>
<id>urn:sha1:f7cba3671e79bcc5db849f6c65ab1b1aafeb2172</id>
<content type='text'>
Signed-off-by: Philipp Schuster &lt;philipp.schuster@cyberus-technology.de&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Add Unit Test Host of Mbedtls CryptoLib</title>
<updated>2025-08-26T10:01:25+00:00</updated>
<author>
<name>Yi Li</name>
<email>yi1.li@intel.com</email>
</author>
<published>2025-08-21T05:10:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=31402d2a31ac16472432bde47f73c3c761bb8ed8'/>
<id>urn:sha1:31402d2a31ac16472432bde47f73c3c761bb8ed8</id>
<content type='text'>
Currently BaseCryptLibMbedTls does not support all Crypto services,
so the following case will fail:
TestVerifyEKUsWith3CertsInSignature()
TestVerifyEKUsWith2CertsInSignature()
TestNoEKUsInSignature()
TestVerifyRsaCertPkcs1SignVerify
TestVerifyPkcs7SignVerifyNonSelfIssued()
TestVerifyDhGenerateKey()
Pkcs1v2Decrypt
Pkcs1v2EncryptDecrypt
RsaOaepEncrypt (Interface)
RsaOaepEncrypt (NoSeed)
RsaOaepEncrypt (Seeded)
RsaOaepDecrypt
RsaOaepEncryptDecrypt
RsaOaepEncryptPkcs1v2Decrypt
Pkcs1v2EncryptRsaOaepDecrypt
RsaOaepEncrypt (MdDefaultMgf1Default)
RsaOaepDecrypt (MdDefaultMgf1Default)
RsaOaepEncryptDecrypt (MdDefaultMgf1Default)
RsaOaepEncrypt (MdSha1Bgf1Sha1
RsaOaepDecrypt (MdSha1Bgf1Sha1)
RsaOaepEncryptDecrypt (MdSha1Bgf1Sha1)
RsaOaepEncrypt (MdSha256Bgf1Sha256)
RsaOaepDecrypt (MdSha256Bgf1Sha256)
RsaOaepEncryptDecrypt (MdSha256Bgf1Sha256)
TestVerifyBn()
TestVerifyEcKey()

Signed-off-by: Yi Li &lt;yi1.li@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Add PKCS7 test case for partial certificate chains</title>
<updated>2025-08-26T10:01:25+00:00</updated>
<author>
<name>Yi Li</name>
<email>yi1.li@intel.com</email>
</author>
<published>2025-08-21T05:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=dc9cdf6c90df2068728554893d4b2ec6e990d5ae'/>
<id>urn:sha1:dc9cdf6c90df2068728554893d4b2ec6e990d5ae</id>
<content type='text'>
This case uses a non-self-issued certificate as the signing
certificate and CA.
BaseCryptLib can pass this case (X509_V_FLAG_PARTIAL_CHAIN ​​enabled).
BaseCryptLibMbedTls cannot, because Mbedtls certificate chain
validation lacks support for partial certificate chains currently.

Signed-off-by: Yi Li &lt;yi1.li@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Resolve CodeQL Errors</title>
<updated>2025-04-21T02:14:50+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-04-18T20:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2e85d12685b950dc8ff54130f9d623a120f852d6'/>
<id>urn:sha1:2e85d12685b950dc8ff54130f9d623a120f852d6</id>
<content type='text'>
This patch updates several CodeQL errors for potential null pointer
access and unguarded header conclusion across production and test
code that have been flagged in the build/security tab in GitHub.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg/Library/OpensslLib: Fix CLANG compatibility issues</title>
<updated>2025-03-07T05:44:30+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2025-01-14T19:11:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=deee46d276c10112dd3a8307c4dedbbfdbf92911'/>
<id>urn:sha1:deee46d276c10112dd3a8307c4dedbbfdbf92911</id>
<content type='text'>
Update the CryptoPkg to support CLANGPDB and CLANGDWARF from
both Windows and Linux host environments.

* Add PcdOpensslLibAssemblySourceStyleNasm to select the correct
  optimized assembly source style for OpensslLib for IA32/X64.
  NASM style is for MSFT and CLANGPDB. GAS style is for GCC.
  Use this PCD in OpensslLibAccel.inf and OpensslLibFullAccel.inf
  to select between .nasm and .S files.
* Add intrinsic functions required by CLANG IA32/X64 builds.
  * __ashlti3
  * __lshrdi3
* Disable warning -Wno-error=unused-function for CLANG build
  compatibility
* Set -D OPENSSL_NO_INLINE_ASM for CLANG build compatibility
* Update TestBaseCryptLib to split out the implementation of
  main() into its own C file that is only use for host-based
  unit tests. This is due to CLANGPDB for host environments
  injecting a __main() call that can only be resolved in host
  based builds that link against host libraries.
* Update Configure.py to update IA32/X64 [Sources] sections
  with feature flag expressions using the new PCD
  PcdOpensslLibAssemblySourceStyleNasm.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
</feed>
