![使用 Microsoft 证书颁发机构签署 OpenSSL .CSR](https://linux22.com/image/572891/%E4%BD%BF%E7%94%A8%20Microsoft%20%E8%AF%81%E4%B9%A6%E9%A2%81%E5%8F%91%E6%9C%BA%E6%9E%84%E7%AD%BE%E7%BD%B2%20OpenSSL%20.CSR.png)
我正在构建一个 Debian FreeRadius 服务器,该服务器对域成员进行 802.1x 身份验证。我想签署我的 radius 服务器的 SSL 证书(用于 EAP-TLS)并利用域的现有 PKI。radius 服务器通过 Samba 加入域,并具有一个机器帐户,如 Active Directory 用户和计算机中所示。我尝试签署我的 radius 服务器密钥的域控制器没有安装 IIS,因此我无法使用首选的 Certsrv 网页来生成证书。MMC 工具无法工作,因为它无法访问 radius 服务器上的证书存储,因为它们不存在。这只剩下 certreq.exe 实用程序。
我正在使用以下命令生成 .CSR:
openssl req -nodes -newkey rsa:1024 -keyout server.key -out server.csr
生成的.CSR:
******@mis-ke-lnx:~/G$ openssl req -text -noout -in mis-radius-lnx.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=Alaska, L=CITY, O=ORG, OU=DEPT, CN=ME/emailAddress=MYEMAIL
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:a8:b3:0d:4b:3f:fa:a4:5f:78:0c:24:24:23:ac:
cf:c5:28:af:af:a2:9b:07:23:67:4c:77:b5:e8:8a:
08:2e:c5:a3:37:e1:05:53:41:f3:4b:e1:56:44:d2:
27:c6:90:df:ae:3b:79:e4:20:c2:e4:d1:3e:22:df:
03:60:08:b7:f0:6b:39:4d:b4:5e:15:f7:1d:90:e8:
46:10:28:38:6a:62:c2:39:80:5a:92:73:37:85:37:
d3:3e:57:55:b8:93:a3:43:ac:2b:de:0f:f8:ab:44:
13:8e:48:29:d7:8d:ce:e2:1d:2a:b7:2b:9d:88:ea:
79:64:3f:9a:7b:90:13:87:63
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha1WithRSAEncryption
35:57:3a:ec:82:fc:0a:8b:90:9a:11:6b:56:e7:a8:e4:91:df:
73:1a:59:d6:5f:90:07:83:46:aa:55:54:1c:f9:28:3e:a6:42:
48:0d:6b:da:58:e4:f5:7f:81:ee:e2:66:71:78:85:bd:7f:6d:
02:b6:9c:32:ad:fa:1f:53:0a:b4:38:25:65:c2:e4:37:00:16:
53:d2:da:f2:ad:cb:92:2b:58:15:f4:ea:02:1c:a3:1c:1f:59:
4b:0f:6c:53:70:ef:47:60:b6:87:c7:2c:39:85:d8:54:84:a1:
b4:67:f0:d3:32:f4:8e:b3:76:04:a8:65:48:58:ad:3a:d2:c9:
3d:63
我正在尝试使用以下 certreq.exe 命令提交我的证书:
certreq -submit -attrib "CertificateTemplate:Machine" server.csr
执行此操作后我收到以下错误:
RequestId: 601
Certificate not issued (Denied) Denied by Policy Module The DNS name is unavailable and cannot be added to the Subject Alternate name. 0x8009480f (-2146875377)
Certificate Request Processor: The DNS name is unavailable and cannot be added to the Subject Alternate name. 0x8009480f (-2146875377)
Denied by Policy Module
我的证书颁发机构有以下证书模板可用。如果我尝试使用“CertificiateTemplate:Computer”而不是“CertificateTemplate:Machine”通过 certreq.exe 提交,我会收到一条错误报告"the requested certificate template is not supported by this CA."
到目前为止,我的 google-foo 都无法理解这个错误...我觉得这应该是一个相对简单的任务,因为 X.509 就是 X.509,而 OpenSSL 会以所需的 PKCS10 格式生成 .CSR。我不可能是唯一一个尝试在 Linux 机器上使用 Windows 证书颁发机构签署 OpenSSL 生成的密钥的人,那么我该怎么做呢(最好使用离线 certreq.exe 工具)?
答案1
kce,前面的发帖人暗示的是验证机器模板的属性。可以在“证书模板”管理单元中找到它。找到该模板的属性,在“主题名称”选项卡上是关于如何向 CA 提供主题名称的设置(例如“在请求中提供”或“根据 Active Directory 中的信息构建”)。