如何为azure web app创建csr文件

如何为azure web app创建csr文件,azure,ssl,csr,azure-web-app-service,Azure,Ssl,Csr,Azure Web App Service,我需要创建一个csr文件以将其提供给某人 csr文件用于azure web应用程序的SSL证书 当我在谷歌上搜索时,我发现有关在何处生成csr文件的信息不一致 一些消息来源说:我必须在web应用程序运行的服务器上创建csr文件 在我的情况下,azure上的服务器是未知的。我在那里什么都跑不了 或者可以在我的本地pc上创建csr,并将所有公司数据+主题填入自定义域吗?您可以在Certreq.exe或OpenSSL工具的帮助下创建cer文件 有关更多详细信息,请查看官方文档如何操作。与其手动操作,不

我需要创建一个csr文件以将其提供给某人

csr文件用于azure web应用程序的SSL证书

当我在谷歌上搜索时,我发现有关在何处生成csr文件的信息不一致

一些消息来源说:我必须在web应用程序运行的服务器上创建csr文件

在我的情况下,azure上的服务器是未知的。我在那里什么都跑不了


或者可以在我的本地pc上创建csr,并将所有公司数据+主题填入自定义域吗?

您可以在Certreq.exe或OpenSSL工具的帮助下创建cer文件


有关更多详细信息,请查看官方文档如何操作。

与其手动操作,不如在额外服务中搜索“应用程序证书服务”,该服务将为您提供购买SSL证书并将其绑定到应用程序的向导。它比手工生成CSR简单得多,速度也快得多,而且也不那么容易混淆。文档很详细,并且不清楚我们是否应该远程进入服务器并在那里生成CSR,等等,因此我强烈建议通过应用程序证书服务进行操作。

控制台中安装了openssl,您可以在那里生成文件。您必须在openssl的原始命令中指定所有必要的设置,因为它应该会提示您问题,但目前不起作用。比如说:

openssl-req-new-newkey rsa:2048-nodes-out yoursite\u com.csr-keyout yoursite\u com.key-subc”/C=US/ST=California/L=San Francisco/O=Your Site Inc./OU=Engineering/CN=yoursite.com“


一旦您有了csr,您就无法从控制台打开它,实际上您必须使用Kudu(单击高级工具)打开文件并复制内容。

其他人提供了关于这些事实的宝贵见解:

  • 您可以(对于Azure Web App,基本上必须)在不同于目标服务器(将使用证书的服务器)的机器上生成CSR
  • 可用于生成CSR的工具(例如openssl、DigiCert实用程序)
  • 获取Azure Web App证书的另一种方法(Azure App证书服务)
也许我遗漏了什么,但我看不到答案:

  • 为什么要(甚至应该)在目标机器上生成CSR
  • 你为什么不去呢
  • 我回答这两个问题的方法是从一个事实开始的,生成CSR实际上是一个过程,它会生成两个工件,其中显而易见的部分——证书请求——可能在这方面不太重要。更重要的一点(实际上也必须放在第一位)是正在生成的RSA密钥对,其中密钥对的公共部分用于CSR请求,而私有部分是使用证书的整个目标的关键部分

    尽管密钥对通常是使用基于硬件的熵数据生成的,因此特定于您使用的机器,但结果(密钥对)可能会在任何地方使用,因为密钥值仅在数学上相互绑定。CSR内容基于公钥和所请求证书的主题,因此同样,其中没有任何内容不能在其他地方使用。这解释了为什么在不同的机器/服务上实际生成CSR(和密钥)没有技术限制,而不是在实际使用CSR的机器/服务上,因此问题2得到了解决

    问题1的答案来自私钥的关键特性,它是在这个过程中生成的。这一关键特征是它应该保持隐私。理想情况是只有证书身份的唯一用户才能使用它。该“用户”将是目标服务(web服务器)。当您在其他地方生成密钥时,您有责任在该环境中保护它,并在传输到目标的过程中保护它。这通常是不必要的风险。建议的解决方案通常是在目标证书/密钥存储中生成密钥,并提供私钥保护,从而防止从存储中提取(导出)私钥。甚至目标服务(web服务器)实际上也无法提取/读取它(但能够使用它)。由于密钥对是在CSR创建过程中生成的,这意味着该过程应该在该存储所在的位置以及该存储的功能中执行。这应该可以回答这个问题。作为旁注,DigiCert工具和IIS管理器UI都使用Windows证书存储,它们确实为私钥添加了保护层,但它们确实将密钥标记为可导出,从而允许密钥提取。OpenSSL工具(在Windows上)在Windows证书存储(作为文件)之外生成密钥,因此您可以轻松访问它,但这并不安全

    我发现这篇文章:,其中提到了生成CSR的3种其他方法/工具,其中第一种(使用Microsoft管理控制台中的证书管理单元)实际上允许您将私钥标记为不可导出


    当然,在您的情况下,获取(例如导出)私钥的能力是至关重要的,因为您必须在其他地方生成CSR,因为Azure Web App cert store目前没有允许生成CSR的功能。

    例如,在本地计算机中使用ssl在命令行中执行此操作:

    • 创建企业社会责任: openssl req-new-newkey rsa:2048-nodes-keyout yourprivate.key-out yourdomainname.csr
    这里您已经生成了crt和捆绑包文件:

    • 创建pfx的下一步:openssl pkcs12-export-out certificate.pfx-inkey yourprivate.key-in-nameofyourcertfile.crt-certfile-nameofyourtccertfile.ca-bundle
    之后,您可以上载您的证书。pfx f