升级到Windows Management Framework 5.0之后,当我引用DSC配置时出现以下异常。
每个节点使用的证书是自签名证书,使用以下证书请求生成。
ConvertTo-MOFInstance : System.ArgumentException error processing property 'Password' OF TYPE 'MSFT_Credential': Certificate
'---HIDDEN-CERTIFICATE-THUMPRINT-VALUE---' cannot be used for encryption. Encryption certificates must contain the Data Encipherment or Key
Encipherment key usage, and include the Document Encryption Enhanced Key Usage (1.3.6.1.4.1.311.80.1).
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSDesiredStateConfiguration.psm1:303 char:13
+ ConvertTo-MOFInstance MSFT_Credential $newValue
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Write-Error], InvalidOperationException
每个节点使用的证书是自签名证书,使用以下证书请求生成。
[NewRequest]
Subject = CN=[computer-name-here].dsc
KeyLength = 2048
MachineKeySet = true
RequestType = Cert
KeySpec = AT_KEYEXCHANGE
接着将该请求文件传送给certreq
命令行实用程序以生成证书并将其加载到cert:\LocalMachine\My
证书存储中。
根据certreq工具的文档,我尝试向我的证书请求文件添加以下内容,但仍然出现相同的错误提示。
KeyUsage = 0x30
[Strings]
szOID_ENHANCED_KEY_USAGE = "1.3.6.1.4.1.311.80.1"
将 KeyUsage
设置为 0x30
可以启用密钥加密和数据加密。但是我似乎找不到生成的证书中关于增强型密钥用途的详细信息。也许我在请求中设置了错误的值。
请帮忙确认一下。
certreq
。 - Cobster