首页 > 解决方案 > 为 Azure 应用注册生成证书

问题描述

在 Azure App Registrations 门户中,我需要生成一个新证书以让我的域服务访问 Graph。我使用 Powershell 生成一个证书,如下所示:

New-SelfSignedCertificate -CertStoreLocation "Cert:\CurrentUser\My" -Subject "CN=sampleAppCert" -KeySpec KeyExchange

结果看起来不错,但是如果我想将此证书与 certlm.msc 一起导出到文件中,它不会出现在列表中。

如果我将 -DnsName 'my-domain.com' 添加到参数列表中,则会出现一个证书。但是关于 Microsoft 文档,这个值应该留空

一般来说,我很困惑理解不同种类的证书和参数的含义。

  1. 如果我使用 -DnsName 属性 - 这会生成 SSL/TLS 证书来保护互联网域吗?
  2. CN 代表什么?
  3. 为什么证书没有出现在 certlm 存储中?不使用 DnsName 属性时,如何导出生成的证书以在 Azure 门户中使用它。
  4. 是否有任何值得推荐的资源来更好地理解数字证书?我对整个话题很困惑,想读点东西。但尤其是微软文档让我更加困惑。:(

标签: azurecertificatessl-certificate

解决方案


让我试着回答你的疑问。

  1. 如果您将使用 -DnsName 属性,它会将 SAN(“主题备用名称”)添加到您的证书中。您可以在证书的详细信息中检查 SAN。

在此处输入图像描述

SAN 基本上用于使用单个证书(https://www.geocerts.com/support/ssl-certificate-subject-alternative-names-sans)保护多个域。

另请注意,这些是自签名证书,不能用于保护互联网域,为了保护互联网域,您需要由 CA 签名的证书,如数字证书等。

  1. CN 代表 COMMON NAME ,它基本上是您网站的完全限定域名(https://www.entrustdatacard.com/pages/digital-certificate-glossary)。

  2. 您需要先导出您的证书,然后再导入它。您可以使用 Export-PfxCertificate 命令将您的证书导出到磁盘上,然后单击它来导入它。

  3. 从基础开始 https://securitywing.com/digital-certificate-how-works/ https://www.jscape.com/blog/an-overview-of-how-digital-certificates-work


推荐阅读