我必须将根证书存储在Azure密钥库中。我认为这一步很好。
下一步是一个Azure函数,我应该从中创建一些带有特殊ID的客户端证书,并从密钥库中创建根证书。但是我不知道该怎么做。
有人可以帮助我使用Azure功能,以及如何在那里创建客户端证书?该功能应以.NET为单位。在网络中,我几乎找到了Powershell Skripts,但这对我没有帮助。如果有人能够帮助我,那真的很棒。
非常感谢。
这是我从杰夫·霍林格(Jeff Hollinger)的这篇文章中得到的看法。这是您在功能中需要的一些示例代码:
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace KeyVault
{
public static class MyFunctionClass
{
private static string superSecret = System.Environment.GetEnvironmentVariable("SuperSecret");
[FunctionName("MyFunction")]
public static void Run([EventHubTrigger("eventhub", Connection = "EventHubConnectionString")]string myEventHubMessage, ILogger log)
{
// DISCLAIMER: Never log secrets. Just a demo :)
log.LogInformation($"Shhhhh.. it's a secret: {superSecret}");
}
}
}
听起来好像您已经在钥匙库中有秘密,所以您所缺少的只是将密钥保险库引用添加到函数的应用程序设置中。这是Microsoft Azure-Functions-key-vault文档的描述。
当地运行时,您可以将值添加到文件中,例如local.settings.json
,例如:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"SuperSecret": "I love Azure Functions",
"EventHubConnectionString": "Endpoint=sb://jeffs.servicebus.windows.net/;SharedAccessKeyName=MyFakeKey;SharedAccessKey=NotARealSecret"
}
}