<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/CryptoPkg/Test/UnitTest, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-08-28T12:37:18+00:00</updated>
<entry>
<title>CryptoPkg: Add Pkcs7Decrypt API</title>
<updated>2026-08-28T12:37:18+00:00</updated>
<author>
<name>Doug Cook</name>
<email>dcook@microsoft.com</email>
</author>
<published>2026-07-27T23:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5337420d7c59b446a4ec9f1348bc75e47de8299d'/>
<id>urn:sha1:5337420d7c59b446a4ec9f1348bc75e47de8299d</id>
<content type='text'>
Add support for a Pkcs7Decrypt API, mirroring the Pkcs7Encrypt API.

I expect that the primary use of Pkcs7Decrypt would be for testing the
Pkcs7Encrypt API, but maybe somebody will need it for real work someday.

Signed-off-by: Doug Cook &lt;dcook@microsoft.com&gt;
Committed-by: Doug Flick &lt;dougflick@microsoft.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg: Add Pkcs7Encrypt smoke tests</title>
<updated>2026-08-28T12:37:18+00:00</updated>
<author>
<name>Doug Flick</name>
<email>dougflick@microsoft.com</email>
</author>
<published>2026-06-03T22:08:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=07a37d45eef9972b7fc3deb761d5c24527a17387'/>
<id>urn:sha1:07a37d45eef9972b7fc3deb761d5c24527a17387</id>
<content type='text'>
These don't actually decrypt anything, so calling them "unit tests"
was a stretch. They're smoke tests: build an envelopedData ContentInfo
for a recipient cert, then walk the DER and check the shape looks
right (id-envelopedData, CMSVersion, the right number of
RecipientInfo entries, the expected content-encryption OID).

Covered:

  * AES-128/192/256-CBC happy paths.
  * Two recipients, just to confirm the SET grows.
  * The parameter-validation contract from BaseCryptLib.h
    (NULL stack/InData/output pointers, bogus CipherNid, bogus Flags).

The DER walker is hand-rolled in the test file so we don't have to
pull OpenSSL or mbedtls headers into a unit test that has to compile
against both. It catches obvious shape regressions but won't notice
if the CEK, IV, or PKCS#7 padding are wrong - a real round-trip needs
a Pkcs7Decrypt API we don't have yet.

Signed-off-by: Doug Flick &lt;dougflick@microsoft.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg/BaseCryptLib: Add SLH-DSA Support</title>
<updated>2026-07-21T09:17:50+00:00</updated>
<author>
<name>Michael G.A. Holland</name>
<email>michael.holland@intel.com</email>
</author>
<published>2026-07-14T14:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2b842a2081613684117fb1f924eb27a05a112e5d'/>
<id>urn:sha1:2b842a2081613684117fb1f924eb27a05a112e5d</id>
<content type='text'>
Created SLH-DSA API functions to configure public and private keys for
SLH-DSA algorithm.  This will allow users to sign and verify with
SLH-DSA.  Unit tests were added to confirm operation of the API.

Signed-off-by: Michael G.A. Holland &lt;michael.holland@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg/BaseCryptLib: EdDsa updates</title>
<updated>2026-07-20T03:23:22+00:00</updated>
<author>
<name>Michael G.A. Holland</name>
<email>michael.holland@intel.com</email>
</author>
<published>2026-07-17T17:39:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5309cdb92c5552e64fce7648ec15d0ab497b1161'/>
<id>urn:sha1:5309cdb92c5552e64fce7648ec15d0ab497b1161</id>
<content type='text'>
Include validation checks for Context and ContextSize in
sign and verify functions.
Returned FALSE for EdDsaGeneratePubKey.
Updated ReadMe to show EdDsa support

Signed-off-by: Michael G.A. Holland &lt;michael.holland@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg/BaseCryptLib: Add ML-DSA Support</title>
<updated>2026-07-14T03:26:52+00:00</updated>
<author>
<name>Michael G.A. Holland</name>
<email>michael.holland@intel.com</email>
</author>
<published>2026-07-01T22:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f07c187d016bd63098a5bf3e2b12c51ca9d4bb3'/>
<id>urn:sha1:0f07c187d016bd63098a5bf3e2b12c51ca9d4bb3</id>
<content type='text'>
Created ML-DSA API functions to configure public and private keys for
ML-DSA algorithm.  This will allow users to sign and verify with ML-DSA.
Unit tests were add to confirm operation of the API.

Signed-off-by: Michael G.A. Holland &lt;michael.holland@intel.com&gt;
</content>
</entry>
<entry>
<title>CryptoPkg/BaseCryptLib: Add ED448 verification and signature fcns</title>
<updated>2026-07-01T01:26:24+00:00</updated>
<author>
<name>Michael G.A. Holland</name>
<email>michael.holland@intel.com</email>
</author>
<published>2026-06-22T15:29:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7bd23c60e83d1746a3574b5a855c4689b8d25e9d'/>
<id>urn:sha1:7bd23c60e83d1746a3574b5a855c4689b8d25e9d</id>
<content type='text'>
  Implemented signature and verification functions for ED448;
  Updated documentation and unit tests to cover new verification functions

Signed-off-by: Michael G.A. Holland &lt;michael.holland@intel.com&gt;
</content>
</entry>
<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: 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>
</feed>
