定时触发Azure Function能否用自签名证书?生产环境如何处理?
问题解答
1. 自签名证书能否用于生产环境的Azure Function?
绝对不适合用于生产环境。自签名证书没有受信任的第三方证书颁发机构(CA)背书,仅能在开发、测试场景下临时使用。生产环境中,任何依赖证书信任链的操作都会失败:比如你的Function和其他服务通过HTTPS通信时,对方系统会因无法验证证书合法性而拒绝连接;如果用它做Azure AD服务身份验证,Azure平台也不会认可该证书的有效性,直接导致身份验证失败。
2. 如何从权威机构获取带密码的.pfx和.crt证书?
按以下步骤操作:
- 选择权威CA:根据业务需求选合适的证书颁发机构,比如DigiCert、GlobalSign这类商业CA,或者免费的Let’s Encrypt(适合域名验证类证书)。
- 提交证书申请:
- 准备验证材料:DV类证书只需验证域名所有权,OV/EV类证书还需提供企业身份证明,按CA的指引完成验证流程。
- 生成CSR(证书签名请求):可以用PowerShell或OpenSSL生成,比如PowerShell命令:
生成后导出CSR文件提交给CA。New-SelfSignedCertificate -CertStoreLocation cert:\localmachine\my -DnsName "your-production-domain.com" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -HashAlgorithm SHA256
- 获取.crt证书:CA验证通过后,会提供签发的.crt证书文件,部分CA还会附带中间证书链文件,需一并保存。
- 生成带密码的.pfx文件:将私钥和.crt证书合并为pfx格式并设置保护密码。用PowerShell的话:
或者用OpenSSL命令:$pwd = ConvertTo-SecureString -String "your-strong-password" -Force -AsPlainText Export-PfxCertificate -Cert cert:\localMachine\my\[你的证书指纹] -FilePath "c:\prod-cert.pfx" -Password $pwd
执行时会提示输入密码,设置完成后就能得到带密码保护的pfx文件。openssl pkcs12 -export -out prod-cert.pfx -inkey your-domain.key -in your-domain.crt -certfile intermediate.crt
内容的提问来源于stack exchange,提问作者John John
相关产品推荐
相关产品推荐

