我在 Windows 10 工作站上进行代码签名证书请求时遇到了一个奇怪的问题。我们有一个使用代码签名模板的 Windows Server 2012R2 CA 设置,如果我从另一台机器发出请求,一切都会正常进行。但是,如果我通过 MMC->证书->当前用户->请求新证书发出请求,我会收到错误:
The EMail name in unavailable and cannot be added to the Subject or Subject Alternate name. 0x80094812 (-2146875374 CERTSRV_E_SUBJECT_EMAIL_REQUIRED)
如果我查看服务器上失败的请求,我会看到相同的错误,但请求者名称不正确。我看到的不是我的用户名 (DOMAIN\User),而是我的管理员用户名 (DOMAIN\UserAdmin)。这显然失败了,因为我的管理员用户没有 AD 电子邮件地址。
我无论如何也想不出这个请求是从哪里获取我的管理员名称的?如果我查看我的工作站事件日志,我会看到以下错误:
- System
- Provider
[ Name] Microsoft-Windows-CertificateServicesClient-CertEnroll
[ Guid] {54164045-7C50-4905-963F-E5BC1EEF0CCA}
[ EventSourceName] CertEnroll
- EventID 13
[ Qualifiers] 49754
Version 0
Level 2
Task 0
Opcode 0
Keywords 0x80000000000000
- TimeCreated
[ SystemTime] 2021-01-19T13:27:15.5372014Z
EventRecordID 118908
Correlation
- Execution
[ ProcessID] 0
[ ThreadID] 0
Channel Application
Computer workstation.domain.com
- Security
[ UserID] S-1-5-21-507921405-651377827-682003330-2622
- EventData
Context DOMAIN\user
TemplateName CodeSigningCertificate
CA CertServ.domain.com\Domain-Issuing-CA
RequestId 12919
ErrorCode The EMail name is unavailable and cannot be added to the Subject or Subject Alternate name. 0x80094812 (-2146875374 CERTSRV_E_SUBJECT_EMAIL_REQUIRED)
因此,它看起来像是使用我的标准用户发出请求,但服务器却使用我的管理员用户获取请求。
有任何想法吗?
答案1
如果您看到不同的请求者名称,则可能表明您使用了错误的帐户登录,或者应用程序(MMC.exe 或 certmgr.msc)已对凭据进行硬编码,以使用管理员用户凭据在提升模式下运行。这可通过可执行文件/快捷方式属性中的“兼容性”选项卡进行配置。