我有一个webjob从azure密钥保险库服务中获取证书,并且在本地我没有从kv访问/获取此证书的问题。但是,当部署此webjob时,出现此错误:
System.Security.Cryptography.CryptographicException: The system cannot find the file specified.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags)
at Microsoft.Ambassadors.Infrastructure.KeyVaultService.<GetCertificateAsync>d__7.MoveNext() in C:\Source\Repos\Xbox.Ambassadors\Microsoft.Ambassadors.Azure\Microsoft.Ambassadors.Infrastructure\KeyVaultService.cs:line 0
Run Code Online (Sandbox Code Playgroud)
我已经使用AAD注册了该应用程序(托管此Webjob的位置),并且该应用程序具有对kv空间的只读访问权限。我发现了一些与此相关的帖子(我认为..?):
“发生了内部错误。” 使用X509Certificate2加载pfx文件时
但是我不确定这是否可以解决我的问题...?如果有人可以提供帮助,那真是太好了!感谢:D
我想配置我们的管道,以允许一个构建用于多个环境,而不必创建单独的构建。根据文档,它似乎是有可能的,因为它说:
- 您可以使用此技术来创建默认程序包并将其部署到多个阶段。
我将舞台命名为我的环境(预览),并为该环境创建了一个web.config文件(web.preview.config)。我所有的环境配置文件都与Web.Config文件位于同一路径。
日志显示转换已完成:
2018-11-17T00:26:52.0383966Z [command] D:\ a_tasks \ AzureRmWebAppAppDeployment_497d490f-eea7-4f2b-ab94-48d9c1acdcb1 \ 3.4.13 \ ctt \ ctt.exe s:D:\ a_temp \ temp_web_package_06958915987488234 \ Content a \ 1 \ s \ Microsoft.Xbox.Mvp \ Microsoft.Xbox.Mvp.Api \ obj \ Preview \ Package \ PackageTmp \ bin \ Web.config t:D:\ a_temp \ temp_web_package_06958915987488234 \ Content \ D_C \ a \ 1 \ s \ Microsoft.Xbox.Mvp \ Microsoft.Xbox.Mvp.Api \ obj \ Preview \ Package \ PackageTmp \ bin \ Web.Release.config d:D:\ a_temp \ temp_web_package_06958915987488234 \ …