在 Linux(基于 ubuntu)环境中使用 MSAL

Using MSAL in Linux (ubuntu based) environment

我正在尝试使用 MSAL 获取访问令牌。我收到了 CER 和 PFX(无密码)文件。我已将 PFX 转换为 PEM,其内容如下:

-----BEGIN PRIVATE KEY-----
[Content]
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
[Content]
-----END CERTIFICATE-----

我已将证书(PEM 文件)作为安全文件上传并下载到我自己托管的基于 ubuntu 的代理中。我可以使用以下命令访问证书:

$Certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new("$env:AGENT_TEMPDIRECTORY/mycert.pem")

但是,在MSAL的所有参考文档中,建议使用证书存储路径来获取证书

$ClientCertificate = Get-Item Cert:\CurrentUser\My[=14=]00000000000000000000000000000000000000

我应该如何在没有证书存储的基于 Linux 的环境中使用证书? 当我使用上面的命令获取证书并尝试调用 get-msaltoken 时,它给我“使用“1”参数调用“withcertificate”的异常:“证书没有私钥”。

任何帮助。

我可以通过添加以下行来配置它 post 证书下载步骤:

$x509cert =    [System.Security.Cryptography.X509Certificates.X509Certificate2]$Certificate

而且有效。