Update for TPM 2.0 for COD/BF6

Alan J T

😛🖥️⌨️🖱️🎮😛🤐💻🤐🤐🤐🤐🤐🤐
Global Moderator
Joined
Sep 11, 2020
Messages
20,936
MSI have started to release a Patched BIOS for ALL the AM4 Motherboards, this is to remedy the COD/BF6 Game TPM error message.
Please keep an eye on the MSI web page of your motherboard for the BIOS updates.
Before you apply the BIOS Update, you will need to disable TPM in the BIOS to prevent problems with Windows Hello and Windows Activation errors.

--Edit Sept.12--


- Turn off/backup/suspend bitlocker before BIOS flash (if you use the feature)
- Disable TPM in BIOS before BIOS flash
BIOS are available here
https://sites.google.com/view/msi-bios-update/menu/motherboard
1757666943697.png

These BIOS are coming straight from MSI, but if you have any concern, wait for official website upload version.
Update BIOS at your own discretion.
If BIOS for your board is not here or on the website, it means it is not ready yet.
Known AMD Limitation
- AMD does not support Ryzen 1000, 2000 TPM update
- AMD B550, A520 + Picasso will not work with TPM-B due to AMD limitation
1759225959055.png


Have put in a request to MSI to verify if we have the correct TPM

As users are reporting, TPM Firmware was updated to 3.94.0.5 and not the latest version 3.94.2.5
I may not have this info till sometime on Monday at the earliest.

EDIT 15-Sep 1500 Hours AU (+10GMT)

BIOS updates for 300, 400 and 500 Series Chipsets on the Support Site will contain TPM Patch 3.94.2.5 when available to download
Check Bios Notes to verify
1757913870888.png


--Edit Sept.30--

AM4 BIOS are all up to date with TPM-B Support
 
Last edited:
Solution
All: I finally resolved my Call of Duty / RICOCHET attestation problem after nearly three months of troubleshooting, and I wanted to document it here because in my case the MSI BIOS and AMD fTPM were not actually the remaining problem.

My system is an MSI X570-A PRO with AMD fTPM. TPM 2.0, Secure Boot, UEFI, measured boot, and the current BIOS/fTPM configuration were all healthy. Windows itself reported the machine as capable of attestation, yet Call of Duty continued to fail secure attestation.

The eventual problem appeared to be an existing application-specific TPM key container named ActivisionAIK that had become stale or otherwise invalid.

I did NOT clear the TPM, reset Secure Boot keys, reinstall Windows, or change...
All: I finally resolved my Call of Duty / RICOCHET attestation problem after nearly three months of troubleshooting, and I wanted to document it here because in my case the MSI BIOS and AMD fTPM were not actually the remaining problem.

My system is an MSI X570-A PRO with AMD fTPM. TPM 2.0, Secure Boot, UEFI, measured boot, and the current BIOS/fTPM configuration were all healthy. Windows itself reported the machine as capable of attestation, yet Call of Duty continued to fail secure attestation.

The eventual problem appeared to be an existing application-specific TPM key container named ActivisionAIK that had become stale or otherwise invalid.

I did NOT clear the TPM, reset Secure Boot keys, reinstall Windows, or change hardware.

Open PowerShell as Administrator.

Step 1 — Confirm that the Activision-specific AIK already exists:


certutil.exe -csp "Microsoft Platform Crypto Provider" -key ActivisionAIK

IMPORTANT: If ActivisionAIK does NOT exist at this point, STOP. This probably is not the same failure mode. I would not recommend deleting or resetting unrelated TPM material trying to force this fix.

In my case, ActivisionAIK already existed even though Activision's own broker logs showed failed AIK enrollment attempts earlier in the history of the problem.

Step 2 — Delete ONLY the application-specific ActivisionAIK container:

certutil.exe -csp "Microsoft Platform Crypto Provider" -delkey ActivisionAIK

This does not clear the TPM. It removes only the named ActivisionAIK container.

Step 3 — Verify that the old container is actually gone:


certutil.exe -csp "Microsoft Platform Crypto Provider" -key ActivisionAIK

In my case, the expected result was:

0x80090016 NTE_BAD_KEYSET
Keyset does not exist.

That was intentional. At this point I knew the old application-specific key had actually been removed.

Step 4 — Re-enroll a fresh ActivisionAIK:

cmd.exe /c 'certreq.exe -enrollaik -f -q -machine -config "" ActivisionAIK'

Successful enrollment on my machine returned:

PkiStatus(0): SCEPDispositionSuccess
EnrollStatus(1): Enrolled
HTTP/1.1 200 OK
Key = ActivisionAIK
The operation completed successfully. 0x0
Immediately afterward I reran the Call of Duty Secure Attestation Wizard.

The same machine that had been failing attestation immediately changed to:

SYSTEM COMPLIANT

I then verified the result in both my Battle.net Call of Duty installation and the Xbox/Microsoft Store MW4 beta, including before and after a Windows restart. The attestation failure did not return.

The important distinction here is that this was not a general TPM repair.

My TPM was already ready, TPM 2.0 was active, Secure Boot was enabled, UEFI was correct, and the MSI/AMD firmware side had already been updated. The remaining failure appeared to be the persisted Activision-specific AIK identity back from the June digital handshake despite multiple handshakes since then being fine between my PC, Activision, and Azure.

If your TPM/Secure Boot configuration is actually unhealthy, or ActivisionAIK does not already exist in Step 1, you likely have a different problem. For anyone who has already updated the appropriate MSI BIOS/AMD fTPM firmware and Call of Duty still reports an attestation failure, particularly when the normal TPM and Secure Boot checks are passing, this may be worth checking before clearing the entire TPM or reinstalling Windows.

Attached are two screenshots of the Attestation Wizard (August version) before and after running the above 4 steps in PowerShell.
 

Attachments

  • COD_Attestation_BEFORE_BIOS_Firmware_Update_Required.png
    COD_Attestation_BEFORE_BIOS_Firmware_Update_Required.png
    39.1 KB · Views: 139
  • COD_Attestation_AFTER_System_Compliant.png
    COD_Attestation_AFTER_System_Compliant.png
    34.2 KB · Views: 138
Solution
Great, finally a solution that actually works!
Except that Activision itself should be the one to address this—and, most importantly, spread the word far and wide—rather than leaving it up to those “affected” users, who are actually PAYING for these games :angryfire:
 
All: I finally resolved my Call of Duty / RICOCHET attestation problem after nearly three months of troubleshooting, and I wanted to document it here because in my case the MSI BIOS and AMD fTPM were not actually the remaining problem.

My system is an MSI X570-A PRO with AMD fTPM. TPM 2.0, Secure Boot, UEFI, measured boot, and the current BIOS/fTPM configuration were all healthy. Windows itself reported the machine as capable of attestation, yet Call of Duty continued to fail secure attestation.

The eventual problem appeared to be an existing application-specific TPM key container named ActivisionAIK that had become stale or otherwise invalid.

I did NOT clear the TPM, reset Secure Boot keys, reinstall Windows, or change hardware.

Open PowerShell as Administrator.

Step 1 — Confirm that the Activision-specific AIK already exists:


certutil.exe -csp "Microsoft Platform Crypto Provider" -key ActivisionAIK

IMPORTANT: If ActivisionAIK does NOT exist at this point, STOP. This probably is not the same failure mode. I would not recommend deleting or resetting unrelated TPM material trying to force this fix.

In my case, ActivisionAIK already existed even though Activision's own broker logs showed failed AIK enrollment attempts earlier in the history of the problem.

Step 2 — Delete ONLY the application-specific ActivisionAIK container:

certutil.exe -csp "Microsoft Platform Crypto Provider" -delkey ActivisionAIK

This does not clear the TPM. It removes only the named ActivisionAIK container.

Step 3 — Verify that the old container is actually gone:

certutil.exe -csp "Microsoft Platform Crypto Provider" -key ActivisionAIK

In my case, the expected result was:

0x80090016 NTE_BAD_KEYSET
Keyset does not exist.

That was intentional. At this point I knew the old application-specific key had actually been removed.

Step 4 — Re-enroll a fresh ActivisionAIK:

cmd.exe /c 'certreq.exe -enrollaik -f -q -machine -config "" ActivisionAIK'

Successful enrollment on my machine returned:

PkiStatus(0): SCEPDispositionSuccess
EnrollStatus(1): Enrolled
HTTP/1.1 200 OK
Key = ActivisionAIK
The operation completed successfully. 0x0
Immediately afterward I reran the Call of Duty Secure Attestation Wizard.

The same machine that had been failing attestation immediately changed to:

SYSTEM COMPLIANT

I then verified the result in both my Battle.net Call of Duty installation and the Xbox/Microsoft Store MW4 beta, including before and after a Windows restart. The attestation failure did not return.

The important distinction here is that this was not a general TPM repair.

My TPM was already ready, TPM 2.0 was active, Secure Boot was enabled, UEFI was correct, and the MSI/AMD firmware side had already been updated. The remaining failure appeared to be the persisted Activision-specific AIK identity back from the June digital handshake despite multiple handshakes since then being fine between my PC, Activision, and Azure.

If your TPM/Secure Boot configuration is actually unhealthy, or ActivisionAIK does not already exist in Step 1, you likely have a different problem. For anyone who has already updated the appropriate MSI BIOS/AMD fTPM firmware and Call of Duty still reports an attestation failure, particularly when the normal TPM and Secure Boot checks are passing, this may be worth checking before clearing the entire TPM or reinstalling Windows.

Attached are two screenshots of the Attestation Wizard (August version) before and after running the above 4 steps in PowerShell.
Will ask our Contact to take a look. Thanks for the detailed post
Perhaps they will get the chance to slap Activision around the head with it. :dope-slap::dope-slap::dope-slap::dope-slap:
 
Will ask our Contact to take a look. Thanks for the detailed post
Perhaps they will get the chance to slap Activision around the head with it. :dope-slap::dope-slap::dope-slap::dope-slap:
I sent the more detailed log to my Activision ticket I've had since June. Happy to send direct to your team via e-mail as well. If interested, please send me a private message with the preferred contact method to do that.

Regards,
-Christian
 
I sent the more detailed log to my Activision ticket I've had since June. Happy to send direct to your team via e-mail as well. If interested, please send me a private message with the preferred contact method to do that.

Regards,
-Christian
It's all ready been passed on to the Development team.
If they require more, I will get a message. and contact you if that happens
 
After the command
cmd.exe /c 'certreq.exe -enrollaik -f -q -machine -config "" ActivisionAIK'
This gives it away.
v2.0
TPM-Version:2.0 -Level:0-Revision:1.38-VendorID:'AMD '-Firmware:196616.3
AMD-KeyId-578c545f796951421221a4a578acdb5f682f89c8
CN=PRG-ZP, O=Advanced Micro Devices, S=CA, L=Sunnyvale, C=US, OU=Engineering
https://amd-keyid-578c545f796951421221a4a578acdb5f682f89c8.microsoftaik.azure.net/templates/Aik/scep
GetCACaps
GetCACaps: Not Found
{"Message":"The authority \"amd-keyid-578c545f796951421221a4a578acdb5f682f89c8.microsoftaik.azure.net\" does not exist."}
HTTP/1.1 404 Not Found
Date: Sun, 06 Sep 2026 13:32:54 GMT
Content-Length: 121
Content-Type: application/json; charset=utf-8
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000;includeSubDomains
x-ms-request-id: 109343a5-e678-44f8-952c-826b0e674b78

EnrollStage = 140
GetCACert = 0ms
GetCACaps = 719ms
CreateRequest = 0ms
SubmitRequest = 0ms
ProcessResponse1 = 0ms
SubmitChallengeAnswer = 0ms
ProcessResponse2 = 0ms
Enroll = 0ms
Total = 3297ms

My English is poor; I’m from Russia, and I’m writing using a translator.
 
After the command
cmd.exe /c 'certreq.exe -enrollaik -f -q -machine -config "" ActivisionAIK'
This gives it away.
v2.0
TPM-Version:2.0 -Level:0-Revision:1.38-VendorID:'AMD '-Firmware:196616.3
AMD-KeyId-578c545f796951421221a4a578acdb5f682f89c8
CN=PRG-ZP, O=Advanced Micro Devices, S=CA, L=Sunnyvale, C=US, OU=Engineering
https://amd-keyid-578c545f796951421221a4a578acdb5f682f89c8.microsoftaik.azure.net/templates/Aik/scep
GetCACaps
GetCACaps: Not Found
{"Message":"The authority \"amd-keyid-578c545f796951421221a4a578acdb5f682f89c8.microsoftaik.azure.net\" does not exist."}
HTTP/1.1 404 Not Found
Date: Sun, 06 Sep 2026 13:32:54 GMT
Content-Length: 121
Content-Type: application/json; charset=utf-8
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000;includeSubDomains
x-ms-request-id: 109343a5-e678-44f8-952c-826b0e674b78

EnrollStage = 140
GetCACert = 0ms
GetCACaps = 719ms
CreateRequest = 0ms
SubmitRequest = 0ms
ProcessResponse1 = 0ms
SubmitChallengeAnswer = 0ms
ProcessResponse2 = 0ms
Enroll = 0ms
Total = 3297ms

My English is poor; I’m from Russia, and I’m writing using a translator.
It didn’t help.
Motherboard: B450M PRO-VDH MAX (MS-7A38)
CPU: RYZEN 5 2600
 
Please help! TPM validation is failing on both FACEIT and within Windows 11 Pro itself. I’ve updated the BIOS to the latest version and also to the version that included a fix, but nothing worked—the status just stays as "not supported." My setup is an MSI B550M-A PRO and a Ryzen 5 5600. I’ve tried clearing the keys and following YouTube guides, but nothing has helped! Please help me solve this; I simply don't understand what the issue is. I tried using a different motherboard (MSI B360M VDH) with an Intel Core i5-9400F, and that setup didn't have this problem, but the AMD system performs much better, so I really need to get this working 🙁
 
Can you be specific on which BIOS version you update to?
Also, can you check your TPM version? Run TPM.MSC and check bottom line.
I updated to BIOS versions 7C96v2J4, 7C96v2J3, 7C96v2I1, and 7C96v2D. None of these BIOS versions resolved the "TPM not supported" issue in Windows or the "TPM attestation is not ready" error in FACEIT. TPM ver 3.94.2.5
 
nothing helps me.
And we are running out of ideas to fix Activision's mess
Do you have it installed via Steam
If so, install it on another pc using a removable drive, then move that drive to your pc and let Steam know where the game is
Refund the bloody game is my suggestion, but not a real solution.
If you're running the correct TPM and all Microsoft security certificates and keys are up to date, it's not hardware but some fubar Software problem.
 
Oh, and yes I just recalled that just to piss off even more players, Actvision is going to black list normal hardware: programmable mice, gamepads, keyboards,
Headphones that have super hearing will all be declared cheating devices, so we all going to have fun with that.
  • Sound equalizers that change automatically based on specific in-game cues or events, such as quieting other noises whenever footsteps are present.
Apps on your PC that can be used to remap your devices will also be black listed.

https://www.ea.com/games/battlefield/battlefield-6/news/battlefield-6-anticheat-update-season-4
 
"Resolved: AIK enrollment 404 on Intel PTT, fixed with a discrete TPM"

After HOURS of diagnostics using Claude Pro Opus 5, it saved the day. Thanks to Claude’s help, this was finally, resolved on my end by switching from Intel PTT to a discrete TPM.

I've solved this on my system, and I want to lay out the full before-and-after because this thread contains two different failures that look identical from the user's side. People are applying the fix for one to the other and getting nowhere.

My system did not change at any point during this: an MSI MAG Z890 Tomahawk WiFi (MS-7E32) on BIOS 1.AD0, which was the latest available, running Windows 10 22H2 build 19045.6332. Secure Boot enabled, UEFI boot mode, GPT disk. A check with msinfo32 came back clean on every relevant line.

THE FAILURE: My TPM was healthy. Get-TpmEndorsementKeyInfo reported IsPresent: True, with a valid Endorsement Key certificate issued by: CN=ODCA 2 CSME MTP PCH SVN 01 PTT CA. That certificate was valid from June 2024 through 2049. Nothing was missing, expired, or malformed on my machine.

When I ran the diagnostic command below, Windows built an enrollment URL from the key identifier of the CA that signed that certificate: certreq -enrollaik -config "" https://intc-keyid-c83cf56e8da47031eefd28d0cac2d86619c08a97. microsoftaik.azure.net/templates/Aik/scep

Microsoft's service responded: GetCACaps: Not Found HTTP/1.1 404 Not Found {"Message":"The authority ... does not exist."} EnrollStage = 140

The timing breakdown is the important part. CreateRequest, SubmitRequest, and SubmitChallengeAnswer all reported 0ms. Enrollment never began. My certificate was never evaluated, because there was no endpoint at that address to evaluate it.

THE DISTINCTION THAT MATTERS: Earlier in this thread, other users reported HTTP 400 with the message "No valid TPM EK/Platform certificate provided." That is a different problem, and the fixes do not transfer between them. A 400 means the request reached Microsoft's service and the certificate chain was rejected. The NV-index intermediate certificate import posted upthread addresses this, and it works for that case. A 404 means no endpoint exists for your EK's issuing CA at all. Nothing is ever submitted, so there is nothing to fix on your end.

In my case I tried the obvious remedies before understanding this, and none of them did anything: updating the BIOS, clearing the TPM, resetting Secure Boot keys, importing intermediate certificates, and considering a Windows 11 upgrade. None could work, because which CA signs your EK is determined when CSME provisions the TPM. It is not a user-configurable property, and no software or firmware setting can change it. If you have the 404, stop troubleshooting your machine. There is nothing wrong with it.

THE FIX I installed a discrete TPM module: an Infineon SLB9670 in the 12-pin SPI form factor (MS-4462 on MSI boards), $24 from Amazon, and seats on the motherboard's JTPM1 header.

In the BIOS, under Settings > Security > Trusted Computing, I changed TPM Device Selection from PTT to dTPM. After a full power cycle, the BIOS Vendor line read IFX instead of INTC, and tpm.msc showed Infineon as the manufacturer with the TPM ready for use.

Running the same command produced a completely different result. The URL was now built from Infineon's CA: https://ifx-keyid-5d0815951f5f60638a69e7252f3ec4becd7554b2. microsoftaik.azure.net/templates/Aik/scep Issuing CA: CN=Infineon OPTIGA(TM) TPM 2.0 RSA CA 042, O=Infineon Technologies AG, C=DE PkiStatus(0): SCEPDispositionSuccess EnrollStatus(1): Enrolled HTTP/1.1 200 OK EnrollStage = 120

This time CreateRequest took 1422ms, SubmitRequest 265ms, and SubmitChallengeAnswer 297ms. The full challenge-response handshake completed and Microsoft issued an AIK certificate valid through June 2030.

FINALLY, The Call of Duty Secure Attestation Wizard passed, and the game runs. Same board, same BIOS, same Windows installation, same Secure Boot configuration. The only variable that changed was which CA signed the Endorsement Key. Infineon's CA is registered with Microsoft's attestation service; Intel's CSME CA is not.

WARNING: BEFORE YOU TRY THIS — TWO REAL RISKS: Swapping the TPM invalidates anything sealed to the old one. There are two ways this can lock you out of your own machine, and both are easy to avoid if you plan for them.

First, BitLocker. If your drive is encrypted, changing the TPM invalidates the key protector, and you will be prompted for a 48-digit recovery key at boot. Without it you will not get into Windows. Check your status first by running "manage-bde -status" in an elevated command prompt. If protection is on, suspend it before you shut down with "manage-bde -protectors -disable C: -rebootcount 0", and retrieve your recovery key from account.microsoft.com/devices as a backup regardless. Re-enable protection afterward with "manage-bde -protectors -enable C:".

Second, your sign-in PIN. Windows Hello PINs and biometric logins are sealed to the TPM, so your PIN and any fingerprint or face login will stop working after the swap. You will need your actual account password at the login screen. Before you open the case, confirm you know it: lock the machine with Win+L, click Sign-in options, choose the password (key) icon rather than the PIN, and sign in. If that works, you are covered. If you have a Microsoft account and cannot remember the password, reset it at account.live.com while your machine still works.

Afterward, create a new PIN under Settings > Accounts > Sign-in options. Neither of these is difficult, but discovering them at a boot prompt with no way into your machine is a bad afternoon. ONE COMMAND TO IDENTIFY WHICH PROBLEM YOU HAVE If you are stuck on attestation, run this in an elevated command prompt before doing anything else:

certreq -enrollaik -config "" 404, "authority does not exist" Your EK's issuing CA is not registered.

Nothing on your machine will fix it. A discrete TPM is currently the only workaround. 400, "No valid TPM EK/Platform certificate" Certificate chain problem. Try the NV-index intermediate import posted earlier in this thread. 200, SCEPDispositionSuccess Attestation is working. Your problem is somewhere else.

One last problem: When I went back in to change the windows password back to my 4 digit pin, it accepted the change, but it did not “take”. When I rebooted, it wouldn’t accept my 4 digit pin. it still required me to use my full microsoft password.

This is expected fallout from the TPM swap, and it's fixable. Your PIN lives in a Windows Hello container that was sealed to the old Intel PTT. Creating a new PIN writes into that same stale container, which is why it accepts the change and then fails at boot — the container can't be unsealed by the new Infineon chip.

You need to delete the container so Windows builds a fresh one.

First try: the clean method​

Open a normal Command Prompt — not elevated, it has to run in your own user context:

certutil -deleteHelloContainer
Then reboot. Sign in with your password, go to Settings → Accounts → Sign-in options → Windows Hello PIN, and set up your 4-digit PIN.

Reboot again and test. This works most of the time.

If it still fails: reset the NGC folder​

Elevated Command Prompt:

takeown /f C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc /r /d y
icacls C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc /grant administrators:F /t
Then open File Explorer to that folder and delete everything inside it — the contents, not the Ngc folder itself. You'll need "Show hidden files" enabled to navigate there.

Reboot, sign in with your password, then set up the PIN again.

Two things to know: this wipes Windows Hello for every account on the machine, so anyone else who signs in will need to re-create theirs. And you may want to restore the folder's permissions afterward, though leaving them is not a security problem on a single-user desktop.

Test it properly​

Don't just reboot — sign out first and test the PIN at the lock screen, then reboot and test again. Some failures only show on a cold boot, which is exactly the pattern you're describing.

If neither works​

Check tpm.msc still reports IFX and "The TPM is ready for use." If something knocked it out of the ready state, Hello can't provision against it, and no amount of container deletion will help. Post back what it says.

One small consolation: Attestation is done, the game runs!

QUESTIONS FOR MSI:
Is a CSME/ME firmware update available or planned for the MS-7E32 that would provision PTT under a CA registered with Microsoft's attestation service?

BIOS 1.AD0 was current at the time I resolved this, but the ME region is versioned separately from the BIOS revision, and that is where the EK provisioning happens. For anyone else on an MSI board with this: the JTPM1 header takes a 12-pin SPI module in the MS-4462 form factor. Confirm your header pinout in your manual before ordering, and buy one built on a genuine Infineon SLB9670 — my first module was not detected by the BIOS at all and had to be returned. (from Amazon)
 
And we are running out of ideas to fix Activision's mess
Oh, and yes I just recalled that just to piss off even more players, Actvision is going to black list normal hardware: programmable mice, gamepads, keyboards,
Headphones that have super hearing will all be declared cheating devices, so we all going to have fun with that.

They will end up without any human player.
Just a few AI players, all of them super-cheaters. :ROFLMAO:
 
"Resolved: AIK enrollment 404 on Intel PTT, fixed with a discrete TPM"

After HOURS of diagnostics using Claude Pro Opus 5, it saved the day. Thanks to Claude’s help, this was finally, resolved on my end by switching from Intel PTT to a discrete TPM.

I've solved this on my system, and I want to lay out the full before-and-after because this thread contains two different failures that look identical from the user's side. People are applying the fix for one to the other and getting nowhere.

My system did not change at any point during this: an MSI MAG Z890 Tomahawk WiFi (MS-7E32) on BIOS 1.AD0, which was the latest available, running Windows 10 22H2 build 19045.6332. Secure Boot enabled, UEFI boot mode, GPT disk. A check with msinfo32 came back clean on every relevant line.

THE FAILURE: My TPM was healthy. Get-TpmEndorsementKeyInfo reported IsPresent: True, with a valid Endorsement Key certificate issued by: CN=ODCA 2 CSME MTP PCH SVN 01 PTT CA. That certificate was valid from June 2024 through 2049. Nothing was missing, expired, or malformed on my machine.

When I ran the diagnostic command below, Windows built an enrollment URL from the key identifier of the CA that signed that certificate: certreq -enrollaik -config "" https://intc-keyid-c83cf56e8da47031eefd28d0cac2d86619c08a97. microsoftaik.azure.net/templates/Aik/scep

Microsoft's service responded: GetCACaps: Not Found HTTP/1.1 404 Not Found {"Message":"The authority ... does not exist."} EnrollStage = 140

The timing breakdown is the important part. CreateRequest, SubmitRequest, and SubmitChallengeAnswer all reported 0ms. Enrollment never began. My certificate was never evaluated, because there was no endpoint at that address to evaluate it.

THE DISTINCTION THAT MATTERS: Earlier in this thread, other users reported HTTP 400 with the message "No valid TPM EK/Platform certificate provided." That is a different problem, and the fixes do not transfer between them. A 400 means the request reached Microsoft's service and the certificate chain was rejected. The NV-index intermediate certificate import posted upthread addresses this, and it works for that case. A 404 means no endpoint exists for your EK's issuing CA at all. Nothing is ever submitted, so there is nothing to fix on your end.

In my case I tried the obvious remedies before understanding this, and none of them did anything: updating the BIOS, clearing the TPM, resetting Secure Boot keys, importing intermediate certificates, and considering a Windows 11 upgrade. None could work, because which CA signs your EK is determined when CSME provisions the TPM. It is not a user-configurable property, and no software or firmware setting can change it. If you have the 404, stop troubleshooting your machine. There is nothing wrong with it.

THE FIX I installed a discrete TPM module: an Infineon SLB9670 in the 12-pin SPI form factor (MS-4462 on MSI boards), $24 from Amazon, and seats on the motherboard's JTPM1 header.

In the BIOS, under Settings > Security > Trusted Computing, I changed TPM Device Selection from PTT to dTPM. After a full power cycle, the BIOS Vendor line read IFX instead of INTC, and tpm.msc showed Infineon as the manufacturer with the TPM ready for use.

Running the same command produced a completely different result. The URL was now built from Infineon's CA: https://ifx-keyid-5d0815951f5f60638a69e7252f3ec4becd7554b2. microsoftaik.azure.net/templates/Aik/scep Issuing CA: CN=Infineon OPTIGA(TM) TPM 2.0 RSA CA 042, O=Infineon Technologies AG, C=DE PkiStatus(0): SCEPDispositionSuccess EnrollStatus(1): Enrolled HTTP/1.1 200 OK EnrollStage = 120

This time CreateRequest took 1422ms, SubmitRequest 265ms, and SubmitChallengeAnswer 297ms. The full challenge-response handshake completed and Microsoft issued an AIK certificate valid through June 2030.

FINALLY, The Call of Duty Secure Attestation Wizard passed, and the game runs. Same board, same BIOS, same Windows installation, same Secure Boot configuration. The only variable that changed was which CA signed the Endorsement Key. Infineon's CA is registered with Microsoft's attestation service; Intel's CSME CA is not.

WARNING: BEFORE YOU TRY THIS — TWO REAL RISKS: Swapping the TPM invalidates anything sealed to the old one. There are two ways this can lock you out of your own machine, and both are easy to avoid if you plan for them.

First, BitLocker. If your drive is encrypted, changing the TPM invalidates the key protector, and you will be prompted for a 48-digit recovery key at boot. Without it you will not get into Windows. Check your status first by running "manage-bde -status" in an elevated command prompt. If protection is on, suspend it before you shut down with "manage-bde -protectors -disable C: -rebootcount 0", and retrieve your recovery key from account.microsoft.com/devices as a backup regardless. Re-enable protection afterward with "manage-bde -protectors -enable C:".

Second, your sign-in PIN. Windows Hello PINs and biometric logins are sealed to the TPM, so your PIN and any fingerprint or face login will stop working after the swap. You will need your actual account password at the login screen. Before you open the case, confirm you know it: lock the machine with Win+L, click Sign-in options, choose the password (key) icon rather than the PIN, and sign in. If that works, you are covered. If you have a Microsoft account and cannot remember the password, reset it at account.live.com while your machine still works.

Afterward, create a new PIN under Settings > Accounts > Sign-in options. Neither of these is difficult, but discovering them at a boot prompt with no way into your machine is a bad afternoon. ONE COMMAND TO IDENTIFY WHICH PROBLEM YOU HAVE If you are stuck on attestation, run this in an elevated command prompt before doing anything else:

certreq -enrollaik -config "" 404, "authority does not exist" Your EK's issuing CA is not registered.

Nothing on your machine will fix it. A discrete TPM is currently the only workaround. 400, "No valid TPM EK/Platform certificate" Certificate chain problem. Try the NV-index intermediate import posted earlier in this thread. 200, SCEPDispositionSuccess Attestation is working. Your problem is somewhere else.

One last problem: When I went back in to change the windows password back to my 4 digit pin, it accepted the change, but it did not “take”. When I rebooted, it wouldn’t accept my 4 digit pin. it still required me to use my full microsoft password.

This is expected fallout from the TPM swap, and it's fixable. Your PIN lives in a Windows Hello container that was sealed to the old Intel PTT. Creating a new PIN writes into that same stale container, which is why it accepts the change and then fails at boot — the container can't be unsealed by the new Infineon chip.

You need to delete the container so Windows builds a fresh one.

First try: the clean method​

Open a normal Command Prompt — not elevated, it has to run in your own user context:

certutil -deleteHelloContainer
Then reboot. Sign in with your password, go to Settings → Accounts → Sign-in options → Windows Hello PIN, and set up your 4-digit PIN.

Reboot again and test. This works most of the time.

If it still fails: reset the NGC folder​

Elevated Command Prompt:

takeown /f C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc /r /d y
icacls C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc /grant administrators:F /t
Then open File Explorer to that folder and delete everything inside it — the contents, not the Ngc folder itself. You'll need "Show hidden files" enabled to navigate there.

Reboot, sign in with your password, then set up the PIN again.

Two things to know: this wipes Windows Hello for every account on the machine, so anyone else who signs in will need to re-create theirs. And you may want to restore the folder's permissions afterward, though leaving them is not a security problem on a single-user desktop.

Test it properly​

Don't just reboot — sign out first and test the PIN at the lock screen, then reboot and test again. Some failures only show on a cold boot, which is exactly the pattern you're describing.

If neither works​

Check tpm.msc still reports IFX and "The TPM is ready for use." If something knocked it out of the ready state, Hello can't provision against it, and no amount of container deletion will help. Post back what it says.

One small consolation: Attestation is done, the game runs!

QUESTIONS FOR MSI:
Is a CSME/ME firmware update available or planned for the MS-7E32 that would provision PTT under a CA registered with Microsoft's attestation service?

BIOS 1.AD0 was current at the time I resolved this, but the ME region is versioned separately from the BIOS revision, and that is where the EK provisioning happens. For anyone else on an MSI board with this: the JTPM1 header takes a 12-pin SPI module in the MS-4462 form factor. Confirm your header pinout in your manual before ordering, and buy one built on a genuine Infineon SLB9670 — my first module was not detected by the BIOS at all and had to be returned. (from Amazon)
See this please
It may shed a bit of extra light on one of the causes: a faulty CPU fTPM
https://forum-en.msi.com/index.php?...-wifi-b850-tomahawk-max-wifi-solution.420255/
 
Back
Top