Require strong certificate key length
Sets minimum RSA key length for certificate validation. Modern default of 2048 bits prevents weak certificate acceptance.
- Policy path
- Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Cryptography Settings
- Supported on
- Windows 10, Windows 11, Windows Server 2016 and later
Sets minimum RSA key length for certificate validation. Modern default of 2048 bits prevents weak certificate acceptance. Security baselines recommend setting it to SHA256.
Description
Require strong certificate key length is a Windows Group Policy setting located under Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Cryptography Settings. It applies to the Computer Configuration branch and is classified as a Critical-level policy in the Windows Sandbox & Application Guard category.
Sets minimum RSA key length for certificate validation. Modern default of 2048 bits prevents weak certificate acceptance.
Microsoft sets the default value to 1024 while industry security baselines (CIS, NIST, DISA STIG) recommend SHA256.
Under the hood, this policy is enforced through the Windows registry at HKLM\Software\Policies\Microsoft\Cryptography using the value name MinKeyLength. Modifying the value directly through regedit.exe or PowerShell produces the same effect as configuring the GPO, but going through Group Policy is preferred so that the setting is centrally managed and survives reboots, image rebuilds, and policy refresh cycles.
In-depth explanation
This is a critical security control. Misconfiguration creates an exploitable attack path that adversaries actively scan for, and a single overlooked endpoint can compromise the entire fleet. Treat it as a hard baseline requirement rather than an optional tuning knob.
The policy is grouped under Windows Sandbox & Application Guard, which means it is typically applied through a domain-wide GPO linked at the OU level. In a multi-tenant MSP context, scope it through WMI filters or security group filtering rather than linking at the domain root, so that you can roll out progressively (pilot OU → wider rings → all production).
The setting takes effect after the next Group Policy refresh (gpupdate /force for immediate testing, or by default within ~90 minutes for workstations and ~5 minutes on domain controllers). For computer-side policies a reboot may be required; for user-side policies, a sign-off/sign-on cycle is enough.
Use cases
- Apply organization-wide hardening of windows sandbox & application guard on all domain-joined Windows endpoints.
- Roll out a CIS Benchmark-aligned baseline targeting 'Require strong certificate key length' via a dedicated GPO.
- Reduce attack surface for accounts that handle privileged credentials or sensitive data.
- Standardize the configuration across multiple customer tenants for an MSP-managed fleet.
Security implications
Failing to enforce this policy creates a documented attack path that adversaries actively probe – think Pass-the-Hash, Kerberoasting, NTLM relay, RDP brute-force, LSASS dumping, or token impersonation, depending on the specific control. A single misconfigured endpoint can be enough to pivot to a Domain Admin compromise.
If this policy must remain at default for a legitimate compatibility reason, compensate with a strong detection rule in your EDR/SIEM, isolate the endpoint in its own VLAN, and document the exception with a target remediation date.
How to configure
- Open Group Policy Management Console (
gpmc.msc) on a domain controller or a workstation with RSAT installed. - Create or edit a GPO linked to the OU containing the target computer configurations. We recommend a dedicated baseline GPO (e.g. SEC – Windows Sandbox & Application Guard) instead of editing Default Domain Policy.
- Navigate to
Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Cryptography Settings. - Open Require strong certificate key length and set it to
SHA256. - Click OK and close the editor.
- On the target endpoint, run
gpupdate /force(or wait for the next refresh cycle), then verify withrsop.mscorgpresult /h report.html.
Direct registry path: HKLM\Software\Policies\Microsoft\Cryptography\MinKeyLength. You can apply the same change with PowerShell:
New-Item -Path 'HKLM\Software\Policies\Microsoft\Cryptography' -Force | Out-Null
Set-ItemProperty -Path 'HKLM\Software\Policies\Microsoft\Cryptography' -Name 'MinKeyLength' -Value <value> -Type DWordRegistry mapping
HKLM\Software\Policies\Microsoft\CryptographyMinKeyLengthREG_DWORDSHA2561024
