添加或创建“主题备用名称”使用 makecert 将字段添加到自签名证书
如何使用带有“主题备用名称”字段的 makecert
创建证书?
您可以使用 - 添加一些字段,例如“增强密钥使用” eku 选项,我尝试过 -san 选项,但 makecert 不喜欢它。
这是一个自签名证书,因此任何使用 IIS 创建发送到 CA 的内容的方法都是不合适的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一种更简单的方法是使用 New-SelfSignedCertificate PowerShell commandlet,它默认包含 SAN。您可以通过单个命令创建证书并将其添加到存储中。
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My
请注意,您需要以管理员身份运行 PowerShell。
An even easier way is to use the New-SelfSignedCertificate PowerShell commandlet, which includes a SAN by default. In a single command you can create the certificate and add it to the store.
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My
Note that you need to run PowerShell as an administrator.
Makecert 似乎不支持 SAN,因此我创建了一个包含 SAN 的证书,以便使用 OpenSSL 与 IIS 一起使用。查看我的博客文章:
来源:使用 OpenSSL 通过 SAN 创建证书< /em> 作者:Andy Arismeti,2011 年 9 月 1 日,星期四
Makecert doesn't appear to support SANs so I created a certificate with SANs for use with IIS using OpenSSL. Check out my blog post about it:
Source: Creating certificates with SANs using OpenSSL by Andy Arismeti, Thursday, September 1, 2011
更新
使用下面的
makecert
方法生成的证书不能在所有浏览器中可靠地工作,因为它实际上并不生成“主题备用名称”。如果您检查证书,您会发现它实际上没有
Subject Alternative Name
字段,而是在Subject
字段中指定多个CN
。例如
,真正的“SAN”证书将具有以下内容:
要了解“主题”字段与“通用名称”和“主题备用名称”字段之间的差异和历史,我建议阅读 (很快)不那么通用的名称。
因此,
makecert
不能用于生成真正的“SAN”证书,您将需要使用其他工具,例如openssl
。原始答案:
至少在 Visual Studio 2012 附带的
makecert
版本中,您可以指定多个主题,只需指定逗号分隔的列表-n " CN=domain1, CN=domain2"
例如(来自 technet 博客 Makecert.exe SAN 和通配符证书)
Update
The certificate generated using the below
makecert
method does not work reliably in all browsers, because it does not actually generate a "Subject Alternative Name".If you examine the certificate you will see that it does not actually have a
Subject Alternative Name
field, but instead specifies multipleCN
in theSubject
field.E.g.
Whereas a real "SAN" cert would have something like:
To understand the differences and history between the "Subject" field with "Common Name" and the "Subject Alternative Name" field, I recommend reading The (soon to be) not-so Common Name.
So it appears that
makecert
cannot be used to generate a true "SAN" cert, and you will need to use other tools, such asopenssl
.Original Answer:
At least with the version of
makecert
that comes with Visual Studio 2012, you can specify multiple subjects, simply by specifying a comma separated list-n "CN=domain1, CN=domain2"
E.g. (from the technet blog Makecert.exe SAN and Wildcard certificate)
https://learn.microsoft。 com/en-us/powershell/module/pki/new-selfsignedcertificate?view=windowsserver2022-ps
或
这两个示例在以下位置创建自签名 SSL 服务器证书计算机我的商店,主题备用名称为 www.fabrikam.com 和 www.contoso.com 并将主题和颁发者名称设置为 www.fabrikam.com。 (除非另有说明,第一个将设置为主题/发行人。
https://learn.microsoft.com/en-us/powershell/module/pki/new-selfsignedcertificate?view=windowsserver2022-ps
OR
These two examples create a self-signed SSL server certificate in the computer MY store with the subject alternative names www.fabrikam.com and www.contoso.com and the Subject and Issuer name set to www.fabrikam.com. (First one will be set to subject/Issuer unless otherwise indicated.