从 MS Dynamics365 CRM 插件代码访问 Azure Keyvault

Accessing Azure Keyvault from MS Dynamics365 CRM plugin code

我需要从 Dynamics365 CRM(在云端)插件代码库(在 C# 中)调用受 X.509 证书保护的外部 Web 服务。

我可以从我创建的命令行实用程序轻松调用该 Web 服务,我可以提供证书(从磁盘上的 .pfx 文件加载)并且一切正常。

我还设法将证书存储到新创建的 Azure Keyvault 中 - 但这是我开始遇到麻烦的地方。

为了访问 Azure Keyvault,我需要进行某种 Azure AD 应用程序注册或其他操作,我需要向该应用程序注册添加某种 "application identity",以便我可以授予"system identity" 访问密钥库的权限。但是我该如何访问 Keyvault 以从我的 Dynamics 插件代码中获取证书呢?我没有看到所有可能的选项、配置设置、权限以及不应该考虑的内容的解决方案....

有人有见解可以分享吗?博客 post 有要指向的代码片段?有什么能让我更接近实现这一切的一步或两步吗?

或者是否有一种完全不同的方法可以让我的插件代码以安全可靠的方式使用这些证书?

1) 您可以将加密的(例如 AES256)pfx 作为 base64 格式存储在某些实体中作为多行 tex 字段,并在插件中检索该记录,base64 数据转换为字节然后转换为 x509Certificate2 对象

2) 您可以将加密的(例如 AES 256)pfx 存储为网络资源并在插件中检索网络资源