<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PKI Blog on Uwe Gradenegger</title><link>https://www.gradenegger.eu/en/</link><description>Recent content in PKI Blog on Uwe Gradenegger</description><generator>Hugo</generator><language>en</language><copyright>Uwe Gradenegger</copyright><lastBuildDate>Tue, 28 Jul 2026 12:43:36 +0000</lastBuildDate><atom:link href="https://www.gradenegger.eu/en/feed/index.xml" rel="self" type="application/rss+xml"/><item><title>Requesting Certificates with ML-DSA-Based Keys Through the Network Device Enrollment Service (NDES)</title><link>https://www.gradenegger.eu/en/requesting-certificates-with-ml-dsa-based-keys-through-the-network-device-enrollment-service-ndes/</link><pubDate>Thu, 23 Jul 2026 10:23:08 +0000</pubDate><guid>https://www.gradenegger.eu/en/requesting-certificates-with-ml-dsa-based-keys-through-the-network-device-enrollment-service-ndes/</guid><description>&lt;p&gt;With the May 2026 security update, Microsoft has added support for the ML-DSA algorithm in Active Directory Certificate Services.&lt;/p&gt;&#10;&lt;p&gt;In their documentation, &lt;a href="https://learn.microsoft.com/en-us/windows-server/identity/ad-cs/ml-dsa-overview#supported-ml-dsa-scenarios" target="_blank" rel="noopener noreferrer" class="external-link"&gt;they do write that NDES is not compatible with ML-DSA&lt;/a&gt;&#10;:&lt;/p&gt;&#10;&#10;&lt;blockquote&gt;&lt;p&gt;You can enroll ML-DSA certificates through the Certificates Microsoft Management Console (MMC) snap-in and &lt;code&gt;certreq.exe&lt;/code&gt;. Enrollment through the Network Device Enrollment Service (NDES) isn't currently available.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&#10;&lt;p&gt;But that's not entirely true…&lt;/p&gt;</description></item><item><title>Configuring an SSL certificate binding for Microsoft Internet Information Server (IIS) fails with an error message when using ML-DSA-based keys</title><link>https://www.gradenegger.eu/en/configuring-an-ssl-certificate-binding-for-microsoft-internet-information-server-iis-fails-with-the-following-error-message/</link><pubDate>Thu, 23 Jul 2026 08:54:46 +0000</pubDate><guid>https://www.gradenegger.eu/en/configuring-an-ssl-certificate-binding-for-microsoft-internet-information-server-iis-fails-with-the-following-error-message/</guid><description>&lt;p&gt;Assume the following scenario:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;A web server certificate was generated using an ML-DSA-based key pair.&lt;/li&gt;&#10;&lt;li&gt;We would like to bind it to Internet Information Services (IIS).&lt;/li&gt;&#10;&lt;li&gt;The configuration fails with the following error message:&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="code"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;There was an error while performing this operation.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Details: &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;A specified logon session does not exist. It may already have been terminated. (Exception from HRESULT: 0x80070520)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Requests for certificates using ML-DSA-based keys fail with the error message "The parameter is incorrect. 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)"</title><link>https://www.gradenegger.eu/en/requests-for-certificates-using-keys-based-on-ml-dsa-fail-with-the-error-message-the-parameter-is-incorrect-0x80070057-win32-87-error_invalid_parameter/</link><pubDate>Fri, 17 Jul 2026 16:07:13 +0000</pubDate><guid>https://www.gradenegger.eu/en/requests-for-certificates-using-keys-based-on-ml-dsa-fail-with-the-error-message-the-parameter-is-incorrect-0x80070057-win32-87-error_invalid_parameter/</guid><description>&lt;p&gt;Assume the following scenario:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;You try to request certificates using the ML-DSA algorithm.&lt;/li&gt;&#10;&lt;li&gt;The request fails with the following error message:&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="code"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The parameter is incorrect. 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Cryptographic Hardening of SCEP Transactions for the Network Device Enrollment Service (NDES)</title><link>https://www.gradenegger.eu/en/cryptographic-hardening-of-scep-transactions-for-the-network-device-enrollment-service-ndes/</link><pubDate>Thu, 09 Jul 2026 14:14:39 +0000</pubDate><guid>https://www.gradenegger.eu/en/cryptographic-hardening-of-scep-transactions-for-the-network-device-enrollment-service-ndes/</guid><description>&lt;p&gt;The &lt;a href="https://www.gradenegger.eu/en/basics-network-device-enrollment-service-ndes/"&gt;Simple Certificate Enrollment Protocol (SCEP)&lt;/a&gt;&#10; is an ancient protocol from the early 2000s. It does not use Transport Layer Security (TLS). Therefore, the protocol messages are encrypted at the transport layer.&lt;/p&gt;&#10;&lt;p&gt;When sending the certificate request to the NDES server, the client will encrypt the certificate request with the NDES server's CEP Encryption certificate (which was previously communicated to it via the GetCACert message).&lt;/p&gt;&#10;&lt;p&gt;When the issued certificate is received, the NDES server will encrypt the response with a self-signed certificate temporarily created by the SCEP client.&lt;/p&gt;&#10;&lt;p&gt;In both cases, a symmetric encryption algorithm is used.&lt;/p&gt;</description></item><item><title>Automatic Publication of Certificate Revocation Lists Following a Certificate Revocation</title><link>https://www.gradenegger.eu/en/automatic-publication-of-certificate-revocation-lists-following-a-certificate-revocation/</link><pubDate>Thu, 09 Jul 2026 09:09:39 +0000</pubDate><guid>https://www.gradenegger.eu/en/automatic-publication-of-certificate-revocation-lists-following-a-certificate-revocation/</guid><description>&lt;p&gt;I often hear that PKI operators would like to see a new certificate revocation list issued immediately for revoked certificates.&lt;/p&gt;&#10;&lt;p&gt;Below, I would like to share some thoughts on why this approach is not ideal and propose a more elegant solution.&lt;/p&gt;</description></item><item><title>What is the difference between "requesting" and "renewing" a certificate in the Windows ecosystem?</title><link>https://www.gradenegger.eu/en/what-is-the-difference-between-requesting-and-renewing-a-certificate-in-the-windows-ecosystem/</link><pubDate>Thu, 02 Jul 2026 09:14:26 +0000</pubDate><guid>https://www.gradenegger.eu/en/what-is-the-difference-between-requesting-and-renewing-a-certificate-in-the-windows-ecosystem/</guid><description>&lt;p&gt;If you want to request or renew certificates on a Windows client using the Microsoft Management Console (MMC), you have several options—all of which achieve the same result but behave differently. Below, we’ll discuss the differences.&lt;/p&gt;</description></item><item><title>Attack on the Active Directory via Microsoft Intune - and how it can be contained with TameMyCerts</title><link>https://www.gradenegger.eu/en/attack-on-the-active-directory-via-microsoft-intune-and-how-it-can-be-contained-with-tamemycerts/</link><pubDate>Sun, 17 Aug 2025 19:23:35 +0000</pubDate><guid>https://www.gradenegger.eu/en/attack-on-the-active-directory-via-microsoft-intune-and-how-it-can-be-contained-with-tamemycerts/</guid><description>&lt;p&gt;&lt;a href="https://dirkjanm.io/extending-ad-cs-attack-surface-intune-certs/" target="_blank" rel="noopener noreferrer" class="external-link"&gt;Dirk-jan Mollema recently presented an attack that can be used to obtain a certificate for highly privileged accounts via Intune&lt;/a&gt;&#10;. This can then be used to compromise the entire Active Directory environment.&lt;/p&gt;&#10;&lt;p&gt;The attack is similar in its basic features to what I have already described in the article &amp;quot;&lt;a href="https://www.gradenegger.eu/en/from-zero-to-enterprise-administrator-through-network-device-enrollment-service-ndes-and-what-to-do-about-it/"&gt;From Zero to Enterprise Administrator through Network Device Enrollment Service (NDES) - and What to Do About It&lt;/a&gt;&#10;&amp;quot; and in the article &amp;quot;&lt;a href="https://www.gradenegger.eu/en/attack-vector-via-smartcard-logon-mechanism/"&gt;Attack vector on Active Directory directory service via smart card logon mechanism&lt;/a&gt;&#10;&amp;quot; (generally also known as &lt;a href="https://www.gradenegger.eu/en/how-the-tamemycerts-policy-module-for-active-directory-certificate-services-adcs-can-prevent-attacks-against-the-esc1-attack-vector/"&gt;ESC1&lt;/a&gt;&#10;).&lt;/p&gt;&#10;&lt;p&gt;What is new, however, is to utilize the Mobile Device Management (MDM) system - in this case Microsoft Intune - accordingly.&lt;/p&gt;&#10;&lt;p&gt;What is not new, however, is what can be done with the TameMyCerts Policy Module for Active Directory Certificate Services to drastically reduce the attack surface...&lt;/p&gt;</description></item><item><title>Automatically add the Security Identifier (SID) certificate extension to certificates requested via Mobile Device Management (MDM) - with the TameMyCerts Policy Module for Microsoft Active Directory Certificate Services (ADCS)</title><link>https://www.gradenegger.eu/en/automatically-add-the-security-identifier-sid-certificate-extension-to-certificates-requested-via-mobile-device-management-mdm-with-the-tamemycerts-policy-module-for-microsoft-active-dire/</link><pubDate>Tue, 01 Jul 2025 18:09:04 +0000</pubDate><guid>https://www.gradenegger.eu/en/automatically-add-the-security-identifier-sid-certificate-extension-to-certificates-requested-via-mobile-device-management-mdm-with-the-tamemycerts-policy-module-for-microsoft-active-dire/</guid><description>&lt;p&gt;After several postponements, Microsoft finally decided that the &lt;a href="https://www.gradenegger.eu/en/changes-to-certificate-issuance-and-certificate-based-logon-to-the-active-directory-with-the-patch-for-windows-server-dated-may-10-2022-kb5014754/"&gt;Changes to Certificate Issuance and Certificate-Based Logon to Active Directory with the May 10, 2022 Patch for Windows Server (KB5014754)&lt;/a&gt;&#10; should now finally come into force.&lt;/p&gt;&#10;&lt;p&gt;Domain controllers will therefore automatically switch to full enforcement mode on February 25, 2025, unless configured otherwise. As of September 2025, it has been announced that deviating settings will no longer apply and there will therefore no longer be an alternative to full enforcement.&lt;/p&gt;&#10;&lt;p&gt;The consequence of this is that certificates can only be used for logon via PKInit if they have the new Security Identifier (SID) certificate extension introduced with the patch.&lt;/p&gt;&#10;&lt;p&gt;What at first sounds as if this is not a major problem may well become one when you consider that fewer and fewer certificate-based use cases are using classic autoenrollment these days.&lt;/p&gt;&#10;&lt;p&gt;How the &lt;a href="https://www.gradenegger.eu/en/a-policy-module-to-tame-them-all-introducing-the-tamemycerts-policy-module-for-microsoft-active-directory-certificate-services/"&gt;TameMyCerts Policy Module for the Active Directory Certificate Services&lt;/a&gt;&#10; can help with this problem is explained in more detail in the following article.&lt;/p&gt;</description></item><item><title>Extending or shortening the validity period of root certification authority certificates</title><link>https://www.gradenegger.eu/en/extending-or-shortening-the-validity-period-of-root-certification-authority-certificates/</link><pubDate>Tue, 01 Jul 2025 17:39:21 +0000</pubDate><guid>https://www.gradenegger.eu/en/extending-or-shortening-the-validity-period-of-root-certification-authority-certificates/</guid><description>&lt;p&gt;With existing public key infrastructures, you may find that the validity period of the root certification authority certificate has not proven itself. For example, it could be that it was chosen too short (the default setting of Microsoft AD CS is only five years), or even too long, which may not be optimal from a security perspective.&lt;/p&gt;&#10;&lt;p&gt;If you renew the certification authority certificate, you may want to achieve a different validity period.&lt;/p&gt;</description></item><item><title>Prevent unprivileged accounts from reading the configuration of the certification authority</title><link>https://www.gradenegger.eu/en/prevent-reading-out-the-configuration-of-the-certification-authority/</link><pubDate>Mon, 23 Jun 2025 18:32:33 +0000</pubDate><guid>https://www.gradenegger.eu/en/prevent-reading-out-the-configuration-of-the-certification-authority/</guid><description>&lt;p&gt;During penetration tests and also for attackers searching the network for potential targets, insights into the configuration of the certification authority are highly interesting.&lt;/p&gt;&#10;&lt;p&gt;In addition to possible misconfigurations, attackers can obtain information about the policy module used on the certification authority.&lt;/p&gt;</description></item></channel></rss>