C# 如何使用Azure批处理中的密钥库进行身份验证

C# 如何使用Azure批处理中的密钥库进行身份验证,c#,azure,azure-keyvault,azure-batch,C#,Azure,Azure Keyvault,Azure Batch,我一直在跟踪使用证书对azure batch的密钥库进行身份验证。 我生成的每个证书在导入azure批处理时都会导致错误,下面列出了一些示例: 代码:InvalidPropertyValue 消息:为请求正文中的一个属性提供的值无效。 PropertyName:数据 原因:指定的数据和密码不匹配 或 无法获取未定义或空引用的属性“tbsCertificate” 或 无法解密PKCS#8 CovertedKeybag,密码错误 我不知道对证书有什么要求吗?或者,如果证书不起作用,是否可以将托管标识

我一直在跟踪使用证书对azure batch的密钥库进行身份验证。 我生成的每个证书在导入azure批处理时都会导致错误,下面列出了一些示例:

代码:InvalidPropertyValue 消息:为请求正文中的一个属性提供的值无效。 PropertyName:数据 原因:指定的数据和密码不匹配

无法获取未定义或空引用的属性“tbsCertificate”

无法解密PKCS#8 CovertedKeybag,密码错误

我不知道对证书有什么要求吗?或者,如果证书不起作用,是否可以将托管标识或服务主体分配给我的Azure批处理池。

作为指导,我向
makecert
命令添加了以下选项

-a sha256 -len 2048
此证书本身仍然无法工作,然后您只需使用以下选项运行
pvk2pfx

pvk2pfx -pvk batchcertificate.pvk -spc batchcertificate.cer
这将打开向导,然后您需要使用该向导:

  • 选择“是导出私钥”
  • 勾选以下选项:
    • “如果可能,包括证书路径中的所有证书”
    • “导出所有扩展属性”
    • “启用证书隐私”
  • 在下一页中,添加密码

  • 您也可以尝试使用此文档:

    我相信微软会在未来发布更多关于这方面的文档