【问题标题】:How should I encrypt App.config for an Azure WebJob?我应该如何为 Azure WebJob 加密 App.config?
【发布时间】:2014-07-18 23:23:44
【问题描述】:

我正在构建一个基于 Azure 网站的解决方案,该解决方案需要在后台定期联系服务总线中继终结点。我计划的设计方法是使用 Azure WebJob 作为此后台任务的执行引擎——我将在 App.config 中存储我的服务总线连接字符串和共享机密凭据,使用 Pkcs12ProtectedConfigurationProvider 和我的站点的自定义 SSL 证书对其进行加密,以及一切都会完美!

唯一的问题是,WebJobs 似乎无法访问其包含网站的证书。我的 WebJob 的代码可以很简单(但请注意,App.config 的 appSettings 部分是加密的):

public static void Main()
{
    string connectionString = ConfigurationManager.AppSettings["Microsoft.ServiceBus.ConnectionString"];
    Console.WriteLine(connectionString);
}

如果我在本地机器上导入站点的证书并在那里运行 WebJob 可执行文件,一切都会按预期工作。但是,当我将带有二进制文件和 .exe.config 文件的 ZIP 文件上传到 Azure 时,作业总是失败并出现以下错误。

[07/18/2014 22:53:24 > 621d84: ERR ] Unhandled Exception:
System.Configuration.ConfigurationErrorsException: Failed to decrypt using provider 'Pkcs12Provider'.
Error message from the provider: No certificate was found for thumbprint <My Certificate's Thumbprint>
(C:\DWASFiles\Sites\<My Site Name>\Temp\jobs\triggered\<My Job Name>\hzcfdtn5.f22\WebJob.exe.Config line
XX) ---> System.ApplicationException: No certificate was found for thumbprint <My Certificate's Thumbprint>

我是否正确地推测 WebJob 无法访问相应网站的证书存储?这使得几乎不可能使用 Pkcs12 提供程序来加密我的 WebJob 的秘密——有更好的选择吗?或者 WebJob 只是该工作的错误工具?

【问题讨论】:

    标签: c# azure encryption ssl-certificate azure-webjobs


    【解决方案1】:

    Azure 网站、AFAIK 无法使用自定义证书。

    但是,您可以将连接字符串放在 Azure 门户网站的连接字符串部分。以下是之后如何阅读的详细信息:http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/

    虽然上述方法不能解决加密问题,但至少会从 AppConfig 中删除 CS。这就是我们对 Azure WebJobs SDK http://azure.microsoft.com/blog/2014/06/18/announcing-the-0-3-0-beta-preview-of-microsoft-azure-webjobs-sdk/ 的服务总线连接字符串所做的工作

    网络作业似乎是您尝试做的正确工具。

    【讨论】:

    • 哦,哇,不知何故,我从来没有想过在门户中尝试 WebJob 的应用程序设置和连接字符串;我以为他们只会为网站本身工作。但它工作得很好,所以我会说这回答了这个问题。但是,我还应该注意,绝对可以为 Azure 网站上传自定义 SSL 证书(但除非您使用自定义域,否则没有必要)。来源:azure.microsoft.com/en-us/documentation/articles/…
    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 2017-09-14
    • 2010-10-13
    • 2020-01-19
    相关资源
    最近更新 更多