Использование MSAL в среде Linux (на базе ubuntu)

#azure-devops #azure-pipelines #msal

Вопрос:

Я пытаюсь получить токен доступа с помощью 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:CurrentUserMy000000000000000000000000000000000000000  

Как я должен использовать сертификат в среде на базе Linux, где у меня нет хранилища сертификатов? Когда я использую приведенную выше команду для извлечения сертификата и пытаюсь вызвать get-msaltoken, она выдает мне «Исключение, вызывающее «подтверждение» с аргументами «1»: «Сертификат не имеет закрытого ключа».

Любая помощь.