I have faced the following error at a client when trying to setup a Forefront TMG 2010 array in a work group environment, however this error is not related to TMG itself so you might encounter it in any setup when your server is using Certificates for server authentication.
When building my Forefront TMG 2010 Array the server designated as configuration storage started logging in the the event log the below error every other minute, I did try to issue another certificate for it and even uninstalled and installed TMG again but nothing did the trick.
A fatal error occurred when attempting to access the SSL server credential private key. The error code returned from the cryptographic module is 0x8009030d. The internal error state is 10001.
The solution to my problem was granting the Network Service Read permission on the certificate and this is how I did it
If you are familiar with Exchange 2010 and trying to install Exchange 2010 for the first time you should have already noticed that the powershell cmdlets used to request and install certificates in Exchange 2007 no longer work in Exchange 2010.
For instance running
New-ExchangeCertificate -GenerateRequest -domainname mail.contoso.msft,autodiscover.contoso.msft,myserver,myserver.internal.contoso.msft -FriendlyName mail.contoso.msft -privatekeyexportable:$true -path c:\cert_myserver.txt
will fail with the following error
A positional parameter cannot be found that accepts argument ‘-Path’.
+ CategoryInfo : InvalidArgument: (:) [New-ExchangeCertificate], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,New-ExchangeCertificate
Import-ExchangeCertificate -path "c:\CertNew.cer"
will also fail with the same error
A positional parameter cannot be found that accepts argument '-path'.
+ CategoryInfo : InvalidArgument: (:) [Import-ExchangeCertificate], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Import-ExchangeCertificate
So here are the commands you should use for Exchange 2010